3
我有以下設置(簡體):能以某種方式從私有類中檢索「主機實例」嗎?
class A {
public:
void doBar() { B b; b.bar(); }
private:
int foo;
class B {
public: void bar() { /* do somehting with foo */ }
};
};
現在,VS告訴我:
非靜態成員引用必須是相對於特定對象
好,好吧,這聽起來很合理。但是,由於此類B
對於A
是私有的,我可以確定它永遠不會在A
(特定)實例的實例之外使用(好吧,A
的靜態方法是例外)。
因此,底線是否有任何機會從B
的方法獲得當前實例A
,即B b
實例化的實例?我特別尋找一個乾淨的解決方案,否則我只是通過參考。
不,這是C++,不是java。將它傳遞給B的ctor – kassak 2013-04-24 11:19:06
B類無法知道它屬於哪個A類實例。只需通過參考! – 2013-04-24 11:19:56