我不確定我的問題是否正確?但讓我仍然試着問一次。不允許直接在同一類中訪問成員變量
我有一個類,有幾個成員變量定義。按照面向對象的概念,每個成員函數都可以訪問它的類的所有成員變量。
但我希望這些成員變量可以通過特定的方法訪問(讓我們說Getters),即使在相同的類成員函數中。
有沒有辦法做到這一點?
class A {
public:
void func1();
void func2();
B getB();
private:
B b;
}
void A::func1() {
b.functionFromB(); // function uses member variable b directly
}
void A::func2() {
B b1=getB(); // function ask for B from a function and then uses it. // I need something like this... And ensure each function uses same way otherwise there should be warning...
b1.functionFromB();
}
感謝, 凱拉斯
不是直接的,但你可以添加一個額外的圖層。 – Jarod42
我只能想到一種方法來實現這一點,它將這些變量放入嵌套類 – Marco
這聽起來更像是通過公共成員函數(setter/getters)訪問私人成員 – Pandrei