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

Применение операторов (+, - , *) к структрутрам - C++

Восстановить пароль Регистрация
 
anklbenz
7 / 7 / 1
Регистрация: 21.12.2012
Сообщений: 65
15.01.2013, 17:01     Применение операторов (+, - , *) к структрутрам #1
к примеру есть простая структура
C++
1
2
3
4
5
6
7
 struct Point
    {
    double x;
    double y;
    Point(double _x, double _y):x(_x),y(_y){};
        Point():x(0),y(0){};
};
как реализовать возможность использование операторов (-,+) к структуре,
чтобы можно было написать:
C++
1
2
3
4
5
6
Point P1 (1.0, 2.0), P2 (2.0, 1.0), P3;
P3=P2-P1;
 
или
 
P3=P2+P1;
Добавлено через 7 минут
Соответственно автоматически сложить поля
C++
1
2
P3.x=P2.x+P1.x;
P3.y=P2.y+P2.x;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2013, 17:01     Применение операторов (+, - , *) к структрутрам
Посмотрите здесь:

C++ Применение циклов, условных операторов
применение c++ C++
C++ Рекурсия и её применение
C++ Применение
C++ Применение итераторов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
15.01.2013, 17:07     Применение операторов (+, - , *) к структрутрам #2
Как и в классах - перегружать операторы.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
using namespace std;
 
struct pnt
{
    float x, y;
 
    pnt(float _x, float _y) : x(_x), y(_y){};
    pnt() : x(0), y(0){};
 
    const pnt& operator + (const pnt& i)
    {
        pnt z;
        z.x = this->x + i.x;
        z.y = this->y + i.y;
        return z;
    };
};
 
 
int main()
{
    pnt x1 (1, 2), x2(2.1, 3.2), P3;
 
    P3 = x1 + x2;
    cout << P3.x << " " << P3.y << endl;
 
    system("pause");
}
anklbenz
7 / 7 / 1
Регистрация: 21.12.2012
Сообщений: 65
15.01.2013, 17:12  [ТС]     Применение операторов (+, - , *) к структрутрам #3
Спасибо, сделал но мне пишет:
C++
1
warning C4172: возвращение адреса локальной или временной переменной
Почему?
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
15.01.2013, 17:13     Применение операторов (+, - , *) к структрутрам #4
C++
1
static pnt z;
anklbenz
7 / 7 / 1
Регистрация: 21.12.2012
Сообщений: 65
15.01.2013, 17:16  [ТС]     Применение операторов (+, - , *) к структрутрам #5
Ок
Спасибо
Yandex
Объявления
15.01.2013, 17:16     Применение операторов (+, - , *) к структрутрам
Ответ Создать тему
Опции темы

Текущее время: 09:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru