приведите дочерний класс в родительский класс - PullRequest
2 голосов
/ 08 августа 2011

это просто пример кода

 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
    }

и я хочу бросить ребенка в родителя, но не могу сделать, пожалуйста, кто-нибудь мне помочь?

Ответы [ 2 ]

5 голосов
/ 08 августа 2011

Дочерний экземпляр имеет тип parent (и child). Если у вас есть экземпляр дочернего элемента, дополнительного экземпляра родительского элемента не будет. Вы можете использовать дочерний экземпляр везде, где требуется родительский экземпляр. Нет необходимости кастовать.

0 голосов
/ 30 июня 2012
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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...