如果我有一個類:訪問私有變量對象
class A {
public:
A();
~A();
int something();
}
class B {
public:
B() {a = new A();};
~B();
private:
A *a;
}
main() {
B x;
}
就是使用目標的唯一途徑「一」的主要是有這方面的吸氣劑?
class B {
public:
A getA() {return *a;};
private:
A *a;
}
然後,如果我想設置私人變量對象,我需要一個setter,並將它設置爲main?
編輯:我更新的類A,B,主要一點。主要問題是,如果我在main中創建B的對象,最好的方法是什麼。我是否可以訪問函數「something()」,因此信息可以存儲在私有變量「a」中?我知道我不能做x.a.something(),因爲「a」是私人的。
也許你需要一個C++的書,而不是一個常見問題? – 2014-12-19 00:16:23
[爲什麼使用getter和setter?]的可能重複(http://stackoverflow.com/questions/1568091/why-use-getters-and-setters) – Pradhan 2014-12-19 00:17:23
或者,使變量公開。還要注意:'inline'規範是多餘的,你正在製作不必要的對象副本,getter通常有一個mutable和一個'const'版本,你應該使用智能指針,你違反了三條規則。 – 2014-12-19 00:17:25