Как видно, единственный чистый виртуальный метод базового класса здесь реализован, но если сделать
CJKernel kernel;
CJReader pReader = new CJReader(&kernel);
получаем ошибку компиляции:
1>... error C2259: 'СJReader' : cannot instantiate abstract class 1> due to following members: 1> 'int CFileDriver::DesiredAccess(void)' : is abstract 1> ...\filedriver.h(8) : see declaration of 'CFileDriver::DesiredAccess'
Здравствуйте, NikeByNike, Вы писали:
NBN>Ничего не изменится. NBN>Хотя в некоторых кодингстандартах требуют всегда писать virtual у перегруженных функций в целях большей наглядности.
если програмиш под VS8.0 то мой совет ставь модификатор override и больше проблем не будет
Здравствуйте, IROV.., Вы писали:
NBN>>Ничего не изменится. NBN>>Хотя в некоторых кодингстандартах требуют всегда писать virtual у перегруженных функций в целях большей наглядности. IRO>если програмиш под VS8.0 то мой совет ставь модификатор override и больше проблем не будет
Да у меня и нет никаких проблем.
P.S.
А что ставить если программишь на _С++_ под _10_ компилеров одновременно?
Здравствуйте, NikeByNike, Вы писали:
NBN>А что ставить если программишь на _С++_ под _10_ компилеров одновременно?
Разумеется override, а на тех компиляторах, которые этого е умеют определи
#defineoverridevirtual
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Erop, Вы писали:
E>Здравствуйте, NikeByNike, Вы писали:
NBN>>А что ставить если программишь на _С++_ под _10_ компилеров одновременно? E>Разумеется override, а на тех компиляторах, которые этого е умеют определи
#defineoverridevirtual
Кстати и вам советую использовать в VC80 этот модификатор.
З.Ы. (шепотом) override пишется после обьявление функции.