Приведенный указатель не получает желаемых свойств и методов для абстрактного родительского класса.C++

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

Сообщение Anonymous »

У меня есть программа, в которой я создал экземпляр абстрактного родительского класса и привел указатель дочернего класса (приведение типов в стиле C) к одному из родительских классов. Когда я искал свойства и вызывал функции, у некоторых это работало, у других возвращалось свойство родительского класса и не вызывалось никакой функции (это вызывало vitrual void funcName() = 0).
Не обращайте внимания на любые потенциальные утечки памяти: код гарантированно будет выполняться в изолированной песочнице, которая самоуничтожится, как только программа завершится.
A минимальный воспроизводимый пример:

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

#include 
#include 
#include 
using std::string, std::cin, std::cout, std::vector, std::deque, std::endl;

typedef long long ll;
ll n, m, k, nExec;
namespace op {
const ll slack = 0, move = 1, swap = 2, mirror = 3, replace = 4, activate = 5, trigger = 6;
}

class operation {
public:
ll time, bot;
ll type = -1;
virtual void negate() = 0;
virtual void print() = 0;
virtual void execute() = 0;
};
class slack:public operation{
public:
ll type = op::slack;
virtual void print() override {if(nExec == k) exit(0);cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79059376/casted-pointer-does-not-get-desired-properties-and-methods-for-abstract-parent-c[/url]
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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