Мы не можем создать объект абстрактного класса, не так ли? Итак, как я могу назвать виртуальную функцию, которая имеет определение как в абстрактном базовом классе, так и в производном классе? Я хочу выполнить код в абстрактном базовом классе, но в настоящее время я использую объект производного класса.Как я могу назвать определение виртуальной функции базового класса, имеющего определения как в абстрактном базовом классе, так и в производном классе в C++?
class T
{
public:
virtual int f1()=0;
virtual int f2() { a = 5; return a }
}
class DT : public T
{
public:
int f1() { return 10; }
int f2() { return 4; }
}
int main()
{
T *t;
t = new DT();
............
}
Можно ли каким-либо образом вызвать функцию базового класса с помощью объекта t? Если это невозможно, что мне нужно сделать, чтобы вызвать функцию базового класса?
Как создать Minimal, полный и проверяемый пример http://stackoverflow.com/ help/mcve –
@RichardCritten Полезно в целом, но, если быть справедливым, описание кода OP достаточно хорошо для понимания как есть. – Angew