我有一個類A,它在其構造函數中引用了B。我可以將子類傳遞給父類的引用嗎?
class A {
public:
A(B& b);
}
而且我有一個類SUBB這是一個子類B的:
class SubB : public B {
//omitted...
}
在我的代碼,我創建了一個SUBB,並把它傳遞給答:
SubB subB;
A a(subB);
但我得到這個編譯錯誤:
錯誤:'B'是'SubB'的不可訪問的基地
我可以將SubB的引用作爲B傳遞嗎?
謝謝。
「B」是「SubB」的唯一基礎嗎? (即你是否意外地使':public X,Y'錯誤?) – Amber 2010-03-30 02:17:33
你正在使用哪種編譯器?這些都在相同的C++文件? – Uri 2010-03-30 02:17:40
根據您提供的信息,代碼看起來很好。我認爲還有更多。請分享完整的示例代碼。 – 2010-03-30 02:20:00