Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
perevezenzev
2 / 2 / 1
Регистрация: 30.01.2013
Сообщений: 129
#1

Переопределение методов

07.06.2015, 14:10. Просмотров 358. Ответов 2
Метки нет (Все метки)

Как вызвать переопределенный (не перегруженный) метод из производного класса?
C++
1
2
3
4
5
6
    Base* obj_1 = new Der1;
    obj_1->VirtualFunc();   //Der1::VirtualFunc
    obj_1->NoVirtualFunc(); //Base::NoVirtualFunc
 
 
    obj_1->Der1::NoVirtualFunc(); //ошибка
Base - базовый, Der1 - производный от базового.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2015, 14:10
Ответы с готовыми решениями:

переопределение защищенных методов
При вызове метода basePubMethod() класса ChildClass возвращается 0. Как заставить его возвращать 1,...

переопределение методов класса в массиве
Всем привет. У меня появилась проблема, которую я не могу решить. Казалось бы все просто, но гугл...

Напишите реализацию методов, предоставляющих доступ к данным класса. Отобразите в программе работу этих методов
Реализация методов класса. Напишите реализацию методов, предоставляющих доступ к данным ...

переопределение
Необходимо реализовать класс Stack, соответствующий стеку чисел. Для хранения стека внутри класса...

Переопределение оператора ++
Необходимо переопределить оператор ++ в классе IteratorBase так, чтобы при этом вызывалась функция...

2
zss
Модератор
Эксперт С++
7098 / 6629 / 4196
Регистрация: 18.12.2011
Сообщений: 17,486
Завершенные тесты: 1
07.06.2015, 14:16 #2
C++
1
  dynamic_cast<Der1*>(obj_1)->NoVirtualFunc();
1
DrOffset
8007 / 4646 / 1129
Регистрация: 30.01.2014
Сообщений: 7,551
07.06.2015, 14:18 #3
Цитата Сообщение от perevezenzev Посмотреть сообщение
obj_1->Der1::NoVirtualFunc(); //ошибка
Для того, чтобы такой вызов был разрешен, тип указателя должен соответствовать. В Base нет информации о методах Der1, поэтому ошибка. А вот наоборот - будет работать (если, имея указатель на производный класс, нужно вызвать сокрытый метод базового).
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2015, 14:18

переопределение операторов
Стоит следующая задача. Надо сделать массив чар, которые представляют собой строку (специально...

Переопределение оператора
У меня есть класс вектора. Надо переопределить оператор умножения числа на вектор. class myvector...

Перегрузка\переопределение
перегрузка и переопределение стандартных операторов в классе это одно и то же или нет?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru