1 | ||||||
Перегрузка + и -03.04.2013, 10:55. Показов 1041. Ответов 15
Метки нет (Все метки)
Всем привет! Вопрос такой - есть класс
resistor item ... item + 15 ;// Здесь оператор + должен прибавить число к переменной kolvo В моем случае ругается error C2679: бинарный "+": не найден оператор, принимающий правый операнд типа "resistor *" (или приемлемое преобразование отсутствует) Заранее спасибо.
0
|
03.04.2013, 10:55 | |
Ответы с готовыми решениями:
15
Перегрузка в виде метода VS Перегрузка в виде функции друг Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов Перегрузка new Перегрузка |
Неэпический
|
||||||
03.04.2013, 11:25 | 2 | |||||
0
|
03.04.2013, 11:29 [ТС] | 3 |
error C2679: бинарный "+": не найден оператор, принимающий правый операнд типа "resistor *" (или приемлемое преобразование отсутствует)
1> может быть "встроенный оператор C+++(volatile const System::Object ^, volatile const System::String ^)" 1> или "встроенный оператор C+++(volatile const System::String ^, volatile const System::Object ^)" 1> или "встроенный оператор C+++(volatile const System::String ^, volatile const System::String ^)" 1> при попытке сопоставить список аргументов "(System::String ^, resistor *)" Это если просто писать item +15
0
|
Неэпический
|
||||||
03.04.2013, 11:36 | 4 | |||||
0
|
03.04.2013, 11:52 [ТС] | 6 | |||||
Я имел ввиду обращение просто r+10.
(r+10).kolvo раносильно r->kolvo +10 (Windows Form) , что выполняется и без перегрузки
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||||
03.04.2013, 12:23 | 8 | |||||
15 - это int.
Добавлено через 1 минуту А где декларация? Внутри фигурных скобок класса напиши:
0
|
03.04.2013, 12:32 [ТС] | 9 |
Всё что есть в классе - в первом посте.
P.S.До этого писал на Андроиде и постоянно ловлю себя на том, что так и продолжаю писать не нем ( в плане синтаксиса) поэтому вариант того, что что-то забыл очень велик. С++ начал изучать месяца 2 назад.
0
|
Неэпический
|
|
03.04.2013, 12:33 | 10 |
Оно должно возвращать временный объект, у которого и спрашиваем kolvo.
для изменения текущего есть еще += ну тогда и писать нужно было в соответствующий раздел, а не в C++
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
03.04.2013, 12:58 | 13 |
А, так это внутри? Тогда выкинь resistor::.
0
|
03.04.2013, 21:22 [ТС] | 14 | |||||
В общем имел ввиду вот это:
файл base.cpp:
resistor *item = new resistor ( 2.2 ,'5' , 'A' , 'l', 10 ); item->plus(90); // Функция прибавляет число к переменной kolvo и возвращает её значение ..... Может и реализовано через Ж, но работает
0
|
03.04.2013, 23:36 [ТС] | 16 |
Спасибо всем кто откликнулся. Скорее всего обойдусь без перегрузки, мой рабочий вариант меня пока устроил.
0
|
03.04.2013, 23:36 | |
03.04.2013, 23:36 | |
Помогаю со студенческими работами здесь
16
Перегрузка. Перегрузка * перегрузка [] Перегрузка << Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |