У меня есть абстрактный базовый класс. Предположим, я хочу, чтобы производный класс также был абстрактным и оставлял ответственность за реализацию чистых виртуальных функций еще более низкому классу. Каков наилучший способ сделать это?Абстрактный подкласс абстрактного базового класса
class Animal {
public:
virtual void makeNoise() = 0;
};
class Dog : public Animal {
};
Что лучше оставить это поле пустым, как это, или я должен сделать:
class Dog : public Animal {
public:
virtual void makeNoise() = 0;
};
Или как об игнорировании виртуального ключевого слова и:
class Dog : public Animal {
public:
void makeNoise() = 0;
};
Что является наиболее подходящим способ сделать это?
Является ли класс 'Собака' также абстрактным классом? –
@JoachimPileborg: Да. –
Кто-то сказал, что связь? –