![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
![]()
Добрый день! Как вы думаете, что будет, если в наследовании классов в базовом и производном классах в функциях-элементах будет содержаться функция с одним и тем же именем, например, operator<<() и с одинаковыми формальными параметрами, тогда будет косяк, так?
то есть компилятор не будет знать, какой функцией он должен будет пользоваться, я прав? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,087
|
![]()
Нормально всё должно быть. У каждой переменной есть тип, по этому типу находится класс и его методы. Если функция объявлена виртуальной, то уже проверяются наследники, а иначе - вызывается метод для текущего класса.
Код:
Последний раз редактировалось pu4koff; 02.07.2009 в 17:38. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 24.06.2009
Сообщений: 17
|
![]()
Перегруженные операторы << и >> не могут быть функциями членами класса... Вот например простенький пример...
Заранее прошу прощения за синтаксис... если будут ошибки... писал в Блокноте... Код:
Our span of life is brief, but is long enough for us to live well and honestly...
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
![]()
вот моя программа, точнее заголовочный файл
Код:
ostream& operator<<(Complex &n); и ostream & operator<<(Chislo & t) P.S. тут какие-то проблемы с ними, кто может, подскажите |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
![]()
а вот доказательство того, что перегруженный оператора operator<< может являться членом класса
Код:
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 24.06.2009
Сообщений: 17
|
![]()
Он у тебя объявлен с ключевым словом friend ... он не член... он Друг... который может обращаться к закрытым переменным.)
Our span of life is brief, but is long enough for us to live well and honestly...
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
![]()
pu4koff, я имел в виду, если бы, А был базовым классом, а В - наследованным классом
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,087
|
![]()
Dimarik, извиняюсь. Забыл наследование написать
![]() ![]() |
![]() |
![]() |
![]() |
#9 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
![]() Код:
Код:
![]() Последний раз редактировалось profi; 02.07.2009 в 18:43. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
![]()
можете подсказать, тут 2 однотипные ошибки в заголовочном файле идут:
Код:
выражение1?выражение2:выражение3, который аналогичен if else и ещё в программе идёт ошибка: Код:
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Наследование | z3rg | Общие вопросы C/C++ | 9 | 30.04.2009 20:43 |
Создание классов и использование объектов классов при написании программ в среде C++. | Frozen inside | Помощь студентам | 0 | 16.04.2009 23:18 |
наследование методов | TaTT DoGG | Общие вопросы .NET | 4 | 27.02.2009 01:27 |
Наследование | Кирилл13 | Общие вопросы C/C++ | 1 | 11.11.2008 14:47 |
Классы и наследование. | Scratch | Общие вопросы C/C++ | 9 | 27.09.2008 16:03 |