Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vetal10
35 / 35 / 5
Регистрация: 25.05.2010
Сообщений: 211
#1

Перегрузка оператора "+" - C++

04.12.2011, 02:22. Просмотров 367. Ответов 3
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
Vector& Vector::operator =(const Vector &v){
    x=v.getX();
    y=v.getY();
    z=v.getZ();
 
    return *this;
}
 
Vector& Vector::operator +(const Vector &v){
    Vector tmp(x+v.getX(),y+v.getY(),z+v.getZ());
    return tmp;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include"Vector.h"
#include<conio.h>
using namespace std;
void main(){
    Vector a(1.0,4.5,3.0);
    Vector b(-3.0,2.1);
    Vector c;
 
    c=a+b;//с= какая-то чушь
    cout<<a.getX()<<endl<<a.getY()<<endl<<a.getZ()<<endl;
    c*=3.0;
    cout<<c.getX()<<endl<<c.getY()<<endl<<c.getZ()<<endl;
    _getch();
}
где ошибка??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2011, 02:22     Перегрузка оператора "+"
Посмотрите здесь:

Перегрузка оператора "+", чтобы выполнял "*" - C++
Ребят, привет всем, возник такой вопрос: возможно ли перегрузить оператор &quot;+&quot; так, чтоб выполнялось умножение? Например вводится...

Перегрузка оператора "<<" для вывода пользовательских классов - C++
Всем доброго времени суток. Пытаюсь сделать перегрузку оператора &quot;&lt;&lt;&quot; для того, чтобы можно было выводить объекты пользовательского класса...

Перегрузка "оператора +" для сложения массива объектов - C++
Как перегрузить правильно оператор+ в данном случае или так делать нельзя? Ещё как-то туда надо передать размеры этого массива... и как...

Перегрузка операторов: Можно ли вынести "тело" оператора (расчеты) из H в CPP? - C++
Помогите новичку! Пишу класс и вынес его в отдельные файлы *.CPP и *.H Теперь пытаюсь переопределить операторы. Начал с = По примеру...

Перегрузка оператора вывода в классе "Время" - C++
Здравствуйте. Столкнулся с проблемой при работе с классом (Время), что выводит или чушь или вообще ничего не выводит. Прописал (вроде бы) 1...

Перегрузка оператора "-" (вычитание матриц) - C++
Нужно сделать вычитание матриц. class massiv { public: massiv(void); massiv(int,int,bool);// n m 1(ввод самим)или0(ввод...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
04.12.2011, 02:27     Перегрузка оператора "+" #2
Цитата Сообщение от vetal10 Посмотреть сообщение
Vector& Vector::operator +(const Vector &v)
C++
1
Vector Vector::operator + (const Vector &v) const
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
04.12.2011, 02:29     Перегрузка оператора "+" #3
vetal10, возвращаешь локальный объект по ссылке. Он разрушается после выхода из оператора и получается чушь.
убери ссылку в возвращаемом значении
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2011, 02:49     Перегрузка оператора "+"
Еще ссылки по теме:

Перегрузка оператора "=" для AnsiString - C++
Вообщем необходимо сделать перегрузку для формирования строки и присваивания ее в переменную типа AnsiString: class MyClass { ...

Перегрузка оператора "+" в шаблоне класса - C++
Не работает + для суммы объектов различного типа данного класса. Для одного типа все нормально. Как можно это исправить? (класс...

Перегрузка оператора ввода ">>" - C++
нужно перегрузить оператор ввода для класса Comp? перегрузил, но выдается ошибка error C2248: 'std::basic_ios&lt;_Elem,_Traits&gt;::basic_ios'...

Перегрузка оператора "&" - C++
Нужна помощь! Нужно перегрузить оператор &amp;, чтобы он складывал исходный список и список, полученный перегрузкой оператора --, который...

Перегрузка оператора "+" в классе - C++
Hello!! Я создаю класс двумерного массива. Использую данный код: template &lt;typename T&gt; class Array2D { public: //...

Перегрузка оператора "+" с шаблонами - C++
нужно написать перегрузку оператора +, который объединяет 2 массива структур в один. допустим, есть вот такая вот структура struct...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
vetal10
35 / 35 / 5
Регистрация: 25.05.2010
Сообщений: 211
04.12.2011, 02:49  [ТС]     Перегрузка оператора "+" #4
спасибо
Yandex
Объявления
04.12.2011, 02:49     Перегрузка оператора "+"
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru