29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
|
||||||
1 | ||||||
Перегрузка функций11.10.2010, 16:23. Показов 2108. Ответов 28
Метки нет (Все метки)
Здравствуйте уважаемые програмисты
У меня вот такое задание: В классе необходимо перегрузить нижеследующие операции, при этом две функции-операции должны быть реализованы как методы класса, а одна – как дружественная функция: • Присваивание «=»; • Сложение (в случае символьных полей сложение понимается как конкатенация) «+»; • Соответствие (равенство) «==». Вот как методы я перегрузил 2 функции, а вот "+" не получается как дружественную функцию(пробовал в функции которая закоментирована), может кто помочь?
0
|
11.10.2010, 16:23 | |
Ответы с готовыми решениями:
28
Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов Перегрузка функций. Реализация функций перегрузка функций Перегрузка функций! |
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
|
|
11.10.2010, 22:09 [ТС] | 21 |
Спасибо огромное. Пойду тестировать))))))
Добавлено через 2 часа 3 минуты Вот написал как вы предложили, выдает такую ошибку: error C2248: Subd::kol: невозможно обратиться к private член, объявленному в классе "Subd" (и так на каждую переменную)
0
|
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
|
|
12.10.2010, 08:57 [ТС] | 23 |
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
12.10.2010, 08:59 | 24 |
0
|
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
|
|||||||||||||||||||||
12.10.2010, 10:20 [ТС] | 25 | ||||||||||||||||||||
Ну как бы получилось. По заданию вот так правильно:
Добавлено через 5 минут А если написать вот так:
Добавлено через 1 час 11 минут Все парни я нашел свои ошибки))) Нужно было просто убрать '&' в этой функции и в объявлении)))
0
|
72 / 71 / 8
Регистрация: 04.08.2010
Сообщений: 434
|
|
12.10.2010, 10:21 | 26 |
Вообще тут дружественная функция не нужна\
Но раз нужно, то сейчас исправлю Добавлено через 24 секунды Ну раз получилось) Грац
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||||
12.10.2010, 10:31 | 27 | |||||
эта версия должна быть не членом, а другом. Другом должен быть, например, оператор левого умножения вектора на скаляр:
0
|
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
|
|
12.10.2010, 11:36 [ТС] | 28 |
Что то я смыла вашего не понял
Ну моя программа ведь правельно терь работает? И она же дружественная?
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
12.10.2010, 11:47 | 29 |
Смысл в том, что так делать не надо, а если придерживаться правила: операторы-друзья только с отличным от каждого данного класса типом первого параметра, то потом легче будет отличать их от остальных операторов и не будешь гадать, почему не доступны члены первого операнда.
0
|
12.10.2010, 11:47 | |
12.10.2010, 11:47 | |
Помогаю со студенческими работами здесь
29
Перегрузка функций Перегрузка функций с++ Перегрузка функций с++ перегрузка функций Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |