#include <iostream>
using namespace std;
class CPoint{
private :
int x, y;
public :
CPoint(int a, int b) : x(a), y(b){}
CPoint(const CPoint &Po, const CPoint &Pq, int a) : x(Po.x+Pq.x+a), y(Po.y+Pq.y+a){}
CPoint(const CPoint &Po, const CPoint &Pq, int a, int b) : x(Po.x-Pq.x+a+b), y(Po.y-Pq.y+a+b){}
void Print(){cout<<"("<<x<<", "<<y<<")"<<endl;}
};
CPoint Sum(CPoint A1, CPoint A2)
{
return CPoint(A1, A2, 0);
}
CPoint Sub(CPoint A1, CPoint A2)
{
return CPoint(A1, A2, 0, 0);
}
int main()
{
CPoint P1(1, 2);
CPoint P2(3, 4);
CPoint P3=Sum(P1, P2);
CPoint P4=Sub(P1, P2);
P1.Print();
P2.Print();
P3.Print();
P4.Print();
return 0;
}
문제가 main함수는 그대로 두고 결과가
(1, 2)
(3, 4)
(4, 6)
(-2, -2)
이렇게 되도록 CPoint 클래스와 Sum, Sub함수를 작성하는 것인데요.
특히, CPoint객체를 매개 변수로 전달받아 두 점에 대한 합과 차에 대한 새로운 CPoint객체를
만들어 반환하는 Sum, Sub 함수를 작성해 보아야하는데요. 객체 반환 시에는 임시 객체를
사용하도록 하라네요. 그래서 한번 코딩해봤는데 제대로된건지 모르겠습니다.
임시 객체가 맞는지도 모르겠구요.