コピー コンストラクターを持つ単純なコンテナー クラスがあります。
ゲッターとセッターを使用すること、またはメンバー変数に直接アクセスすることをお勧めしますか?
public Container
{
public:
Container() {}
Container(const Container& cont) //option 1
{
SetMyString(cont.GetMyString());
}
//OR
Container(const Container& cont) //option 2
{
m_str1 = cont.m_str1;
}
public string GetMyString() { return m_str1;}
public void SetMyString(string str) { m_str1 = str;}
private:
string m_str1;
}
- この例では、すべてのコードがインラインですが、実際のコードにはインライン コードはありません。
更新 (2009 年 9 月 29 日):
これらの回答のいくつかはよく書かれていますが、この質問の要点を見逃しているようです:
これは、getter/setter と変数の使用について説明するための単純な不自然な例です
イニシャライザ リストまたはプライベート バリデータ関数は、実際にはこの質問の一部ではありません。どちらの設計でもコードの保守と拡張が容易になるかどうか疑問に思っています。
この例の文字列に焦点を当てている人もいますが、これは単なる例であり、代わりに別のオブジェクトであると想像してください。
性能は気にしません。私たちはPDP-11でプログラミングしていません