我有一个类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