當寫在C++的類的helper方法,它應該被聲明爲類的標頭中定義的私有方法(.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() {
...
}
要擴大你的第二個段落:喜歡非朋友非成員函數(http://www.drdobbs.com/cpp/how-non-member-functions-improve-encapsu/184401197)。如果一個功能不需要私人訪問,請不要私人訪問。 –
@sftrabbit:謝謝。我稍微磨礪了第二段。 –