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]

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