@Recardo_Recoly

Как записать разные классы в одну переменную?

Мне нужно реализовать разный функционал одной функции в нескольких классах и потом иметь возможность вызвать эту функцию.

Пытался сделать через наследование
EXP.h
class Exp
{
public:
	int CALL();
};
EXP.cpp
int EXP::CALL()
{
   return 0;
}


Uses.h
class Uses : public EXP
{
        int result = 5;
public:
	int CALL();
};
Uses.cpp
int Uses::CALL()
{
   return result;
}

И еще есть немного похожих классов...
Сохранять пытаюсь вот так:
EXP* exp = new Uses();
exp->CALL();

Проблема в том что почему то CALL всегда возвращает 0 (Ну можно и другое... Короче то что прописано в return EXP.cpp)
  • Вопрос задан
  • 528 просмотров
Решения вопроса 2
гуглите про виртуальные методы/функции
Ответ написан
zagayevskiy
@zagayevskiy
Android developer at Yandex
В Exp метод надо пометить virtual
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Recardo_Recoly Автор вопроса
Спасибо всем большое!
Вот может пригодится кому то (хотя скорей мне если забуду)) ):
https://www.youtube.com/watch?v=hpC0LRsTJ7M
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы