私はCに慣れています。ヘッダファイルには通常、宣言と定義は含まれていませんが、C++は少なくともクラスとの混合を促しているようです。ヘッダファイルに簡単に入れることができるこのクラス宣言を取る。そのメソッドの中には、インラインで定義されているものもあれば、 "inline"キーワードではなく、クラス宣言自体のようにインラインで定義されているものもあります。特にコンストラクタと4つのgetter/setterヘッダーファイルにメソッド定義を含むクラス宣言を置くことは、C++では悪い書式とみなされますか?
MyClass.h:
class MyClass {
public:
MyClass(int a = 0, int b = 1) : _a(a), _b(b) {};
int getA() { return _a; };
int getB() { return _b; };
void setA(int a) { _a = a; };
void setB(int b) { _b = b; };
void doSomething(); // no definition here; defined in source file
void doSomething2(); // no definition here; defined in source file
void doSomething3(); // no definition here; defined in source file
private:
int _a;
int _b;
};
はこの悪い形であり、私はクラス宣言でのみメソッド宣言を残し、ソースファイルに分けてクラスのメソッドを定義する必要があり、またはこれは完全に受け入れているのですか?
APIビューは重要です。関数定義をスクロールすることなく、すべてのメンバー変数と関数を見るためのコンパクトな場所を用意することは良いことです。 –
@ edA-qamort-ora-yこれはAPIビューではなく、オブジェクトビューです。 APIは厳密にpublicメンバー/メソッドです。基本的に、APIビューはピンプルクラスになります。 – weberc2