Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets > Методы определяемые в наследуемых классах


Автор: Pit-Bul 22.11.16, 07:38
Доброго времени суток всем. Долгое время писал на шарпе, и как то притупился в идеологии плюсов, поэтому прошу помощи. Надо в базовом классе объявить функцию, так чтобы была обязательна её реализация в дочерних классах. То есть если нет реализации функции в дочернем классе, то компилятор ругается. Либо другим способом, запретить вызов этой функции из родительского класса. В шарпе сие реализуется с помощью Virtual методов, но в тестовом примере на плюсах почему то на Virtual реакции нет ни со стороны компилятора, не со стороны исполняемой программы, функция дергается из базового класса без переопределения в дочернем. Использую компилятор GNU GCC 5.3.

Автор: shm 22.11.16, 07:52
Цитата Pit-Bul @
То есть если нет реализации функции в дочернем классе, то компилятор ругается.

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    class Base
    {
       virtual void f() = 0;
    };

http://ideone.com/dxnBXl

Автор: Pit-Bul 22.11.16, 07:57
превеликая благодарность!!!

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)