2012-06-25 8 views
8

C++コードを書くときは、ヘッダーファイルに完全な '実装'コードを記述し、その後、実装を.cppにリファクタリングする必要がありますファイル。ヘッダーとインプリメンテーション(h + cpp)に自動的に分割する(リファクタリング)

これは素晴らしかったですが、このプロセスは面倒でしたが、それ以外はかなり簡単でしたので、これを行うための自動化された方法があるかどうか疑問に思いましたか?

具体的には、.hのすべてのクラスと関数の定義を宣言に変換し、新しい.cppファイルで宣言したいとします。

私はxcodeを使用していますが、私はどのソリューションにも対応しています。

+0

Xcode?私はObjectiveC(++)を意味すると思っていました。 "普通の" C++ではありません。 –

+0

XCodeはObjective Cに焦点を当てた単なる汎用IDEです。それを言いたいのかどうかは分かりませんが、あまりにも多くの情報を提供する方が良いでしょう。 ;) – aaaidan

答えて

9

Lazy C++があります.1つの.lzzファイルのみを書き、.hと.cppを生成します。

私は実際にはC++ modulesをお待ちしています。ここでは.cppだけを書き、インポートファイルは自動的に生成されます。しかし、クラークがモジュールを実装し始めても、我々は数年待たなければならない。 Hereはいくつかの例です。

+0

ねえ、私はそれが好きです!したがって、 '.lzz'が変更されたときにmakefileルール/依存性が' cpp'と 'h'を生成するようにすることができます。ニース。 – aaaidan

1

あなたは、このようなMakeheaders

などの一部のツール

http://www.hwaci.com/sw/mkhdr/

を使用することができますが、一般的には、これらのツールは、特に新しいC++ 11個のファイルを満たし、完全ではありません。

+0

Mmmは有望そうだが、コンパイルするためにはたくさんの調整が必要だった(mallocが正しい型に戻した数十のvoidポインタをキャストしなければならなかった)。コンパイルされましたが、実行したときに出力がありませんでした。何か案は? – aaaidan

+0

ああ、lzzと似ています。だからあなたはlzzを使い続けることができます:) –

1

Eclipseの機能「リファクタリング/トグル機能」にも興味があります。しかし、必ずしも正しく動作するとは限りません。

関連する問題