Метод базового класса не вызывается для объекта производного типа: полиморфизм без указателя и ссылкиC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Метод базового класса не вызывается для объекта производного типа: полиморфизм без указателя и ссылки

Сообщение Anonymous »


Consider a Base class and a derived class that inherits from it called Child. Assume the Base class has a member function declared virtual, and that Child overrides that function. I would like to declare a variable as a Base class object, initialize it using the Child derived class constructor, and then use the Child class version of the member function. In other words, the following C++ program:

#include class Base { public: virtual int give_number(int x) { return x; } }; class Child : public Base { public: int give_number(int x) { return x+1; } }; int main() { Base base; Child child; Base child2; child2 = Child(); std::cout

Источник: https://stackoverflow.com/questions/781 ... ithout-poi
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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