我有一个带有复制构造函数的简单容器类。
您建议使用 getter 和 setter,还是直接访问成员变量?
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 上编程