В следующем примере я буду использовать динамическую диспетчерскую для вызова виртуальных функций?C++ избегание динамической отправки в производных классах с использованием ключевого слова
struct Base{
virtual double fn(){return 3.2;}
};
struct Deri1 : public Base{
using Base::fn;
}
struct Deri2 : public Base{
virtual double fn(){return 4.6;}
}
Классов я реализующие содержит гораздо больше информации, но есть некоторые, что я хочу, чтобы сохранить значение по умолчанию для некоторых производных классов, но переопределить в других, п() в коде выше является примером этого. В принципе, я просто использую базовый класс, чтобы избежать перезаписи fn() каждый раз, когда он не переопределяется. Правильно ли это?
Спасибо!
'Deri2' не наследуется от' Base'. Это намеренно? – RedX
Упс! Сожалею! Я исправил это сейчас. – Plamen
Вам даже не нужно указывать директиву использования в этом случае. Только если вы перегружаете функцию, в дополнение к тому, что вы не хотите ее переопределять. – StoryTeller