C++でクラスのヘルパーメソッドを記述するとき、ヘッダー(.h)ファイルのクラスの定義でプライベートメソッドとして宣言する必要がありますか?たとえば:ヘルパー関数はヘッダーまたは実装ファイルに入れなければなりませんか?
/*Foo.h*/
class Foo {
public:
int bar();
private:
int helper();
};
...
/*Foo.cpp*/
...
int foo::bar() {
int something = this->helper();
}
int foo::helper() {
...
}
または代わりに、それはクラスのプライベートメンバとして宣言し、代わりにそれの実装における自立機能作らない方が良いですか?実装ファイルに
/*Foo.h*/
class Foo {
public:
int bar();
};
...
/*Foo.cpp*/
...
int Foo::bar() {
int something = helper();
...
}
int helper() {
...
}
2つ目の段落を拡張する:[非友人以外の非メンバー機能](http://www.drdobbs.com/cpp/how-non-member-functions-improve-encapsu/184401197)。関数にプライベートアクセスが必要ない場合は、プライベートアクセスを与えないでください。 –
@sftrabbit:ありがとう。私は第2段落を少し鋭くしました。 –