1 | |||||||||||
Чисто виртуальные классы. Модификатор const18.03.2012, 15:51. Просмотров 8373. Ответов 7
Метки нет Все метки)
(
Приветствую всех! Известно, что чисто виртуальный (абстрактный) класс можно получить
следующим образом.
1) что это за чудо? 2) как его применять и где? Заранее спасибо!
0
|
|
18.03.2012, 15:51 | |
Виртуальные и чисто виртуальные функции Модификатор доступа const
|
|
18.03.2012, 16:37 | 2 | |||||
чтобы инстанцировать, надо реализовать все чисто виртуальные методы
0
|
18.03.2012, 17:01 [ТС] | 3 | |||||
Ну вот, например:
Код
error C2259: 'B' : cannot instantiate abstract class igorrr37, ваш код, кстати, тоже.
0
|
![]() 5813 / 3465 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
18.03.2012, 17:04 | 4 | |||||
Все логично. Сигнатура метода test класса A не совпадает с сигнатурой метода test класса B
0
|
![]() 5813 / 3465 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
18.03.2012, 17:09 | 5 | |||||
![]() Решение
все то же самое:
А ругался компилятор потому, что в классе-потомке не переопределялась «чистая» функция, а определялось ее неконстантная перегрузка. Таким образом, класс-потомок тоже становился абстрактным, что и приводило к ошибке компиляции
4
|
18.03.2012, 17:10 [ТС] | 6 |
Nameless One, спасибо за разъяснение. Теперь такой вопрос: на что влияет модификатор const в данном случае?
0
|
![]() 5813 / 3465 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
18.03.2012, 17:18 | 7 | |||||
HighPredator, он говорит, что метод не меняет поля класса, и, следовательно, он может вызываться для константных экземпляров класса.
1
|
Don't worry, be happy
|
|
14.03.2013, 15:57 | 8 |
В дополнение к посту 7 - в константных методах можно изменять mutable поля.
1
|
14.03.2013, 15:57 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Модификатор const Очередные грабли с++? Модификатор const в качестве возвращаемого значения Описание чисто виртуальных методов, Абстрактные классы виртуальные классы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |