0 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 19
|
|
1 | |
В наследнике(-ах) требуется изменить возвращаемый тип этих функций.09.02.2014, 19:59. Показов 2629. Ответов 5
Метки нет (Все метки)
Есть базовый класс. Есть наследник базового класса.
В базовом классе есть два виртуальных метода - Get(int id) и Set(int id). В наследнике(-ах) требуется изменить возвращаемый тип этих функций. Как такое можно сделать?
0
|
09.02.2014, 19:59 | |
Ответы с готовыми решениями:
5
Требуется изменить тип файла и изменить шрифт в документе Требуется изменить тип перекрестной ссылки на рисунок Непонятный возвращаемый тип Наследование и возвращаемый тип |
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
09.02.2014, 20:03 | 2 |
почти никак. это уже будут другие функции и они не будут вызываться при попытке их вызвать через указатель на базовый класс.
почти - потому что есть только одна возможность: если эти функции в базовом классе возвращают указатель на класс, то в производном классе можно возвращать указатели на производные классы от этого класса.
2
|
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
||||||
09.02.2014, 20:17 | 3 | |||||
chadushkind, можно еще раз перегрузить эти функции. сделать что-то такое(не уверен, что это то, что Вы хотели)
1
|
0 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 19
|
||||||
09.02.2014, 23:10 [ТС] | 4 | |||||
metaluga145, спасибо за пример. Не совсем понял, что означает запись:
И еще вопрос. При наследовании, после двоеточия ставится ключевое слово public. Для чего оно ставится? Так нужно(поступать всегда?), в соответствии с правилами? Или это означает, что наследоваться будет только публичная часть базового класса? Или какой-то соблюдаемый стиль?
0
|
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
||||||
09.02.2014, 23:28 | 5 | |||||
это то же самое, что
переменная d на самом деле принадлежит классу first, но ее надо как-то инициализивароть, для этого мы вызываем конструктор класса first. То есть, при вызове конструктора класса second, будет вызван конструктор класса first. Это обязательная часть. Об этом подробнее можете почитать в литературе. да, будет унаследована часть public. неплохо написано тут
1
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
09.02.2014, 23:28 | 6 |
Это список инициализации конструктора. Так вызывается конструктор базового класса и инициализируются члены (в том числе константные).
Наследование в C++ может быть разным. public - наследование интерфейса, private/protected - наследование реализации. При public наследовании все поля базового класса наследуются с теми же спецификаторами доступа (private конечно не доступны). При protected - публичные члены базового класса становятся защищенными. При private - публичные и защищенные члены становятся закрытыми.
Если нужно приводить указатель/ссылку дочернего класса к базовому, то наследование должно быть public.
1
|
09.02.2014, 23:28 | |
09.02.2014, 23:28 | |
Помогаю со студенческими работами здесь
6
Инкапсуляция(возвращаемый тип) Возвращаемый тип по умолчанию Функции, возвращаемый тип Возвращаемый тип в java Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |