1

我的代码:

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”:没有适当的默认构造函数可用

4

2 回答 2

1

Since the constructor takes a pointer, pass the address-of object!

int _tmain()
{ 
      dev1 d; 
      dev2 derived2(&d); // &d
}
于 2012-09-01T05:19:18.640 回答
0

要转换为基址的指针或引用,基址必须是public. 默认情况下,继承是private在使用class关键字时。

于 2012-08-31T23:42:51.703 回答