Как я могу использовать методы детского класса, не определенные в родительском классе с указателя родительского класса?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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