質問のタイトルが実際の質問を効果的に反映していない (またはまったく反映していない) 場合は、お詫び申し上げます。これは、stackoverflowで質問または回答するのが初めてで、間抜けになっている可能性があります...
とにかく、私の(精巧な)質問はこれです:
プライベート メンバー変数の使用を必要とするクラスでパブリック メンバー関数を定義する場合、それぞれ (プライベート変数) はパブリック メンバーの「ゲッター」関数を持ちます (「ゲッター/セッターを失う...」と答えないでください。それらを使用する)、より良いでしょうか-実際には「より良い」、C++コンパイラ間でクラスをより「拡張可能」にし、どのオプションがより多くの「前方互換性」を可能にするかなど-- this->m_variable を使用する OR this- を使用する- >getm_変数()?
私が現在取り組んでいるプロジェクトから、次のコード例 (Family という名前のクラスを作成する) を含めて、正確に何を意味するのかを明確にしようとしました。
Family.h のスニペット
private:
Person* children; // array of Person objects - Person is a member struct
size_t numChildren;
public:
enum gender { NONE = 0, MALE, FEMALE }
size_t countChildren() { return numChildren; }
size_t countChildren(gender g);
Person* getChild() { return children; }
Family.cpp のスニペット
// this is the specific function example:
size_t Family::countChildren(gender g) {
for (size_t i = 0; i < this->numChildren; i++) {
...CODE TO COUNT CHILDREN OF SPECIFIED GENDER...
}
return # of children with gender g // pseudocode, obviously...
}
したがって、例の質問が変更されました。
countChildren(gender g)
私が持っている関数の定義では、i < this->numChildren;
(前に述べたメトリックに関して) を使用する方が良いでしょうi < this->countChildren();
か? 同様に、同じ for ループの子配列を反復処理する場合、OR を使用Person*
して現在の反復でそれぞれを定義する方がよいでしょうか?*(this->children + i)
*(this->getChild() + i);
先に述べたように、この質問がスタックオーバーフローにとって「ディスカッションベース」すぎる場合はお詫び申し上げます。これは初めての質問です。