Мне хотелось бы иметь вектор класса с виртуальным методом, который дочерний элемент может переопределить. Но я не могу поместить в вектор чисто виртуальные классы, поэтому у меня есть унаследованный класс, который я назвал 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]