我有一個簡單的C++問題C++類,但我不知道如何解決這個問題。問題脫鉤嵌套
我有兩個類,A和B中未繼承的反正。 A是客戶端類,B是存儲客戶端(A類)列表的類。
我想只有B到實例並摧毀B類,但我想我的代碼的其他部分能夠調用類A中的方法
起初我有以下幾點:
class B {
public:
class A {
public:
void setX(int val);
int getX();
private:
int x;
A();
~A();
};
B()
~B()
....
};
這讓我打電話給從B A的構造函數/析構函數,並使得A的構造函數/析構函數從其他私人的,但調用setX的(對A)和信息getX()成爲麻煩,因爲我有打電話給B ::一個。
我認爲把一個在它自己的文件(它自己的類,而不是嵌套的),其他類可以調用A.方法但是現在B不能訪問A的構造函數/析構函數,因爲它是私有的。如果我把它公開,那麼任何人都可以創建A級
的對象我不知道什麼是做到這一點的最好辦法。如果A是它自己的類,那麼我怎樣才能讓構造函數/析構函數僅對B可用,而其他類可以從A對象上調用setX()和getX()?
謝謝你,這個工作就像一個魅力!現在我知道如何使用「朋友」關鍵字,非常感謝! – user1777907