我的代码:
class myAbstractClass{
}
class dev1: public myAbstractClass{
}
class dev2: public myAbstractClass{
public:
myAbstractClass* temp;
dev2(myAbstractClass* tmp) { temp=tmp; }
}
int _tmain(){
dev1 d;
dev2 derived2(d);
怎么做?
错误C2040:'v':'dev2'与'myAbstractClass *'的间接等级不同 错误C2512:'dev2':没有合适的默认构造函数
答案 0 :(得分:1)
由于构造函数接受指针,因此传递对象的地址!
int _tmain()
{
dev1 d;
dev2 derived2(&d); // &d
}
答案 1 :(得分:0)
要转换为基数的指针或引用,基数必须为public
。默认情况下,使用private
关键字时,继承为class
。