我有A類和B類.A類有一堆帶有gets/sets的變量,但我只希望從B類調用這些集合。我能想到的唯一方法就是使集合受到保護,從A類派生類B,而隨後的B類最終會從類A.繼承了一堆不必要的東西擁有隻能從另一個類訪問的類方法/變量?
例子:
class A {
public:
void setHealth();
int getHealth();
private:
int health;
};
class B {
public:
void someMethod() { classAInstance.setHealth(); } //This should work
private:
A classAInstance;
};
A classAInstance;
classAInstance.setHealth(); //This should not work because its not being called from Class B
我希望我解釋我的問題夠你udnerstand什麼我需要。提前致謝!
看看passkey成語:http://stackoverflow.com/questions/6545490/how-can- i-check-a-function-was-called-by-another-function/6545585#6545585 – Xeo 2012-01-02 23:57:42
請查閱您最喜愛的關於* friend *關鍵字的C++語言書籍。 – 2012-01-02 23:59:31