Предположим, у меня есть абстрактный базовый класс
class base
{
public:
virtual void function() = 0;
};
, за которым следует производный класс
class derived_1 : public base
{
public:
... function() ...;
};
Как я могу перегрузить вышеуказанную функцию, если я не хочу, чтобы она была определена, но Я sh, чтобы производное_1 не было абстрактным, поэтому я могу создать его экземпляр?
Затем за этими классами следует другой класс
class derived_2 : public base, public derived_1
{
public:
void function()
{
// What my function does
}
По сути, я буду sh для обоих производные классы должны быть созданы, но я хочу, чтобы они оба использовали базовый класс в качестве интерфейса, тогда как производный_2 наследует производный_1. Перегрузка чисто виртуальной функции, используемая в основном коде, должна быть в классе производном_2.
Кто-нибудь знает, как я могу это сделать?
Большое спасибо!