0 / 0 / 0
Регистрация: 17.06.2014
Сообщений: 119
|
||||||
1 | ||||||
Как избежать дублирования кода при использовании virtual функций?22.04.2017, 23:02. Показов 1594. Ответов 6
Метки нет (Все метки)
Здравствуйте.
Есть Класс Студент_А и Студент_Б. В каждом есть поле private содержащее string name. В классе Студент_А есть virtual метод, который выводит строку name. Класс Б наследует класс А. Хочу чтобы вывело name студента Б. Как это сделать, чтобы не приходилось в cpp файле дважды писать реализацию методов?
0
|
22.04.2017, 23:02 | |
Ответы с готовыми решениями:
6
Как избежать дублирования кода? Как избежать дублирования кода в Си Как избежать дублирования кода? Наследование Избежать дублирования кода |
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||||||
22.04.2017, 23:09 | 2 | |||||
Вам имя типа напечатать что ли?
0
|
0 / 0 / 0
Регистрация: 17.06.2014
Сообщений: 119
|
||||||
22.04.2017, 23:21 [ТС] | 3 | |||||
Мне нужно вызвать метод print класса A, чтобы оно напечатало имя класса B. Можно ли это сделать не добавляя в функцию print аргументы ?
Добавлено через 2 минуты
0
|
22.04.2017, 23:25 | 4 | |||||
0
|
23.04.2017, 01:26 | 5 | |||||
Nikita07, Вы поучили ответ на Ваш вопрос?
Добавлено через 7 минут В таком случае в Студент_Б::name в Студент_Б перекрывает Студент_А::name . Я бы сказал, что это не лучшее проектирование.Dani, для меня открытие, что в сях можно писать:
0
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|
23.04.2017, 03:07 | 6 |
С C++11 можно. Выполняется в любом конструкторе, если там эта инициализация не перекрыта явным name("bla-bla-bla").
0
|
23.04.2017, 03:27 | 7 |
0
|
23.04.2017, 03:27 | |
23.04.2017, 03:27 | |
Помогаю со студенческими работами здесь
7
Как избежать дублирования данных в текстовом поле при вставке в mysql таблицу Избежать дублирования проверок при выполнении метода Как избежать дублирования сообщений ? Как избежать дублирования записей? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |