如果我有一個基類的派生類,我想根據一個標誌爲它們中的任何一個指定一個對象,那麼應該是什麼定義指向所選對象的指針。C++繼承:定義一個指向派生類或基類的指針
實施例:
void main(int argc, char* argv[])
{
class Base B;
class Derived D;
class Base *P; /* My question is output this definition */
int flag; /* This will be an input */
if(flag)
P = &B; /* Should refer to the base class B */
else
P = &D; /* Should refer to the derived class D
/* Then I'd use P in the rest of my code */
}
我的問題是如何將類指針P被定義爲能夠指代基於標誌`標誌」 B(基類)或d派生類) ?
只要'Derived'派生自'Base',這就好了。什麼不適合你? – jxh
謝謝jxh。我試圖確定我的解決方案。我對定義部分感到困惑。可以將P定義爲指向Base類的指針,然後爲它指派一個指向派生類的指針嗎?順便說一句,其他方式也可以工作(即定義P如下:class Derived * P;)? –
由於'B'不是'Derived',因此您不能進行這項任務。 – jxh