Как я могу использовать методы детского класса, не определенные в родительском классе с указателя родительского класса?C++

Программы на C++. Форум разработчиков
Anonymous
Как я могу использовать методы детского класса, не определенные в родительском классе с указателя родительского класса?

Сообщение Anonymous »

В настоящее время у меня есть несколько классов ребенка, унаследовавших класс с одним родителем. Эти детские классы имеют радикально разные переменные и методы членов. Я пытаюсь услышать экземпляры этих классов, и в то же время мне нужно быть в состоянии выяснить, к какому дочернему классу каждый объект принадлежит и использовать свои уникальные методы.

Код: Выделить всё

class Parent {
public:
int childNo;
}

class Child1: public Parent {
public:
Child1() {
int childNo = 1;
}
void radicallyDiffentMethod1(){}
}

class Child2: public Parent {
public:
Child2() {
int childNo = 2;
}
void radicallyDiffentMethod2(){}
}

void useChild(Parent* child)
if (child -> childNo == 1){
child -> radicallyDifferntMethod1();
} else {
child -> radicallyDifferentMethod2();
}

Child1* C1 = new Child1;
Child2* c2 = new Child2;

useChild(C1);
useChild(C2);
Тем не менее, это не работает, поскольку родительский класс не определяет радикально -дифферентуальное method1 или радикально -дифферентуальныеметод2. Как я бы сделал это?

Подробнее здесь: https://stackoverflow.com/questions/607 ... -parent-cl

Вернуться в «C++»