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

コンストラクターはポインターを受け取るので、オブジェクトのアドレスを渡します!

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

基数のポインターまたは参照に変換できるようにするには、基数が である必要がありますpublic。デフォルトでは、キーワードprivateを使用すると継承されます。class

于 2012-08-31T23:42:51.703 に答える