Std::vector вызывается виртуальный метод родителя вместо дочернего [дубликат]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Std::vector вызывается виртуальный метод родителя вместо дочернего [дубликат]

Сообщение Anonymous »

Мне хотелось бы иметь вектор класса с виртуальным методом, который дочерний элемент может переопределить. Но я не могу поместить в вектор чисто виртуальные классы, поэтому у меня есть унаследованный класс, который я назвал Parent, который нужно поместить в вектор; Однако когда я помещаю элемент в сам вектор, я помещаю экземпляр Child, а не Parent. Но когда я вызываю его виртуальный метод, вместо дочернего метода вызывается родительский метод?
Извините, если это сложно объяснить, но вот пример кода.

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

#include 
#include 
class ParentAbstract
{
public:
virtual void Test() = 0;
};
class Parent : public ParentAbstract
{
public:
Parent()
{

}
virtual void Test()
{
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78190368/stdvector-parents-virtual-method-getting-called-instead-of-child[/url]
Ответить

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

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

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

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

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