24 / 24 / 3
Регистрация: 17.05.2011
Сообщений: 141
|
||||||
1 | ||||||
Ошибка при вызове виртуальной функции в производном классе27.07.2011, 11:14. Показов 1875. Ответов 8
Метки нет (Все метки)
Здравствуйте, извините, если подобная тема появлялась, но либо у меня руки не от туда растут, либо ее небыло...
проблема в следующем: есть базовый класс, и два наследника(отличаются совсем немного, но...)
Как исправить есть идеи???)))
0
|
27.07.2011, 11:14 | |
Ответы с готовыми решениями:
8
Переопределение виртуальной функции в производном классе Ошибка компиляции при вызове виртуальной функции Ошибка при вызове шаблона функции в другом классе Запрет на использование функции в производном классе |
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
27.07.2011, 11:28 | 3 |
Глупец, Есть. Сделать функцию не чисто виртуальной. Чисто виртуальная функция подразумевает ту же сигнатуру в производных классах.
0
|
24 / 24 / 3
Регистрация: 17.05.2011
Сообщений: 141
|
||||||||||||||||
27.07.2011, 11:50 [ТС] | 4 | |||||||||||||||
Maxwe11,
Добавлено через 8 минут да и, извините, в первом посте в коде косяк небольшой: не а
0
|
106 / 106 / 11
Регистрация: 17.10.2010
Сообщений: 283
|
|
27.07.2011, 11:54 | 5 |
Не в тему, но все же...
virtual inline - это как вообще? Компилятор проигнорирует inline для виртуальной функции. Ну и сама задача - виртуальная функция с различными параметрами на C++ таким образом не решается.
1
|
24 / 24 / 3
Регистрация: 17.05.2011
Сообщений: 141
|
|
27.07.2011, 11:57 [ТС] | 6 |
soft.creator, про inline спасибо, я тоже сомневался, что сработает, но компил не ругнуля по крайней мере, и решил пока не править)))
А как тогда решить...может предложите хотя бы где почитеать, или пример напишите?)))
0
|
Каратель
|
|
27.07.2011, 11:57 | 7 |
косяк в том что чисто виртуальная функция не переопределяется в классах наследниках, а значит классы наследники такие же абстрактные как и базовый, а объект абстрактного класса создать никак нельзя
0
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||||||
27.07.2011, 12:00 | 8 | |||||
Ну, в данном случае можно-таки сделать одинаковую сигнатуру
1
|
24 / 24 / 3
Регистрация: 17.05.2011
Сообщений: 141
|
|
27.07.2011, 12:05 [ТС] | 9 |
Maxwe11,Как бы это в первом посте было написано...это вполне понятно...
вопрос стоит следующим образом:"как сделать так, чтоб эта функция заработала с разными параметрами" т.е. если мы вызываем ее для класса S с параметром long-она не сможет ее принять, если с char-все нормально, но при этом же объекты классов наследников хранятся в одном массиве... Добавлено через 1 минуту grizlik78, спасибо...))) и чего до меня раньше не дошло...))) думаю, тема закрыта)))
0
|
27.07.2011, 12:05 | |
27.07.2011, 12:05 | |
Помогаю со студенческими работами здесь
9
Почему при переопределении виртуального метода в производном классе выводится метод базового? Как быть если при перегрузке нужно изменить тип свойства в производном классе? Почему при множественном наследовании в производном классе оказывется несколько экземпляров общего базового класса Ошибка при вызове функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |