2011-08-08 18 views
2

にこれはただのサンプルコードキャスト子クラスの親クラス

class parent{ //abstact class 
     //pure virtual function 
     virtual fun=0; 
    } 
    class child : parent{ 
     fun; 
    } 
    main() 
    { 
      //what should i do here,so i can add parent in vector 
     attach(child); 
    } 
    void attach(parent* p){ 
     vector.push_back(p); //want to add reference of parent into vecotr 
    } 

であると私はいずれかが私を助けてください行うには、親に子をキャストしたいができない ?

答えて

5

子インスタンスは、タイプの親(および子)を持ちます。あなたが子供のインスタンスを持っているならば、余った親のインスタンスはありません。親インスタンスが必要な場合は常に、子インスタンスを使用できます。キャストする必要はありません。

+0

ご迷惑をおかけしていただきありがとうございます。私はエラーが発生しましたが、あなたの答えは私の問題を解決します。 –

0
Class cast excetion : 
Occurs when u try to cast a parent class into child class. 
Reason: the parent class has not everything that a child class has, on the other hand a  child has everything that a parent has so you can cast a child into parent. 
     In other words, the instance that you want to downcast must be an instance of the class that to which you are downcasting. 
関連する問題