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

оператор перезагрузки для + - C++

Восстановить пароль Регистрация
 
MashaPR
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 3
29.05.2012, 12:07     оператор перезагрузки для + #1
Помогите написать, оператор перезагрузки для +.
В QtCreater
Вот программа.
Elips.h
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
#ifndef ELIPS_H
#define ELIPS_H
#endif // ELIPS_H
class TPoint
{
 
public:
    double x;
    double y;
    TPoint();//КПУ
    TPoint(double xx,double yy);//КП
    TPoint(const TPoint&g);//КК
    //~TPoint();//Деструктор
};
class Elips
{
    TPoint a;
    TPoint b;
public:
    Elips();//КПУ
    Elips(TPoint& aa,TPoint& bb);//КП
    Elips(const Elips&d);//КК
    //~Ellips();//Деструктор
    double Square(const Elips&t);
};

Elips.cpp
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
30
31
32
33
34
35
36
37
38
39
40
41
#include "elips.h"
TPoint::TPoint()
{
    x=0;
    y=0;
}
TPoint::TPoint(double xx,double yy)
{
    x=xx;
    y=yy;
}
TPoint::TPoint(const TPoint&g)
{
    x=g.x;
    y=g.y;
}
//TPoint::~TPoint(){}
 
Elips::Elips()
{
    TPoint p(4,7);
    a=p;
    TPoint p2(64,71);
    b=p2;
 
}
Elips::Elips(TPoint& aa,TPoint& bb)
{
    a=aa;
    b=bb;
}
Elips::Elips(const Elips&d)
{
    a=d.a;
    b=d.b;
}
//Elips::~Elips(){}
double Elips::Square(const Elips&t)
{
    return(0.5*3.14*(b.x-a.x)*(b.y-a.y));
}
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include<iostream>
#include "elips.h"
 
using namespace std;
 
int main()
{
    TPoint p;
    TPoint p1(4,5);
    TPoint p2(p1);
    //~TPoint();
    Elips c;
    Elips c1(p, p2);
    Elips c2(c1);
    //~Elips();
    double n=c2.Square(c);
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
29.05.2012, 12:27     оператор перезагрузки для + #2
В класс TPoint надо добавить объявление (в принципе, если у вас переменные открыты, этого и не нужно):
C++
1
friend TPoint operartor+(const TPoint& tp1, const TPoint& tp1)
Реализация:

C++
1
2
3
4
5
6
7
TPoint operator+(const TPoint& tp1, const TPoint& tp2)
{
TPoint tmp(tp1);
tmp.x = tp1.x + tp2.x; 
tmp.y = tp1.y + tp2.y;
return tmp;
}
По аналогии для класса Elips сделаете.
MashaPR
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 3
29.05.2012, 12:40  [ТС]     оператор перезагрузки для + #3
Я пыталась, не получается
Перезагрузку вообще не понимаю.
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
29.05.2012, 12:46     оператор перезагрузки для + #4
C++
1
2
3
4
5
6
7
Elips operator+(const Elips& tp1, const Elips& tp2)
{
Elips tmp(tp1);
tmp.a = tp1.a + tp2.a; 
tmp.b = tp1.b + tp2.b;
return tmp;
}
MashaPR
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 3
29.05.2012, 12:57  [ТС]     оператор перезагрузки для + #5
Благодарю ^_^
Yandex
Объявления
29.05.2012, 12:57     оператор перезагрузки для +
Ответ Создать тему
Опции темы

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