-
operator +, operator - friend를 이용@ 16. 1 ~ 17. 1/C++ 2013. 2. 24. 20:15
#include<iostream> #include<conio.h> using namespace std; class Point { private: int x; int y; public: Point() : x(0), y(0) {} Point(int myx, int myy) :x(myx), y(myy) {} ~Point() { cout << "~Point()" << endl; } void showXY() { cout << x << " " << y << endl; } void move(int myx, int myy) { x=myx; y=myy; } int getX() const { return x; } int getY() const { return y; } Point operator+(Point ©) { return Point(x+copy.x, y+copy.y); } friend Point operator-(Point ©1, Point ©2); }; Point operator-(Point ©1, Point ©2) { return Point(copy1.x-copy2.x, copy1.y-copy2.y); } int main() { Point p1(1,1); Point p2(2,2); Point p3=p1+p2; p3.showXY(); Point p4=p1-p2; p4.showXY(); getch(); return 0; }
여기선..리턴시 객체가 생성이 된다...불필요하다면.. & 참조자를 반환형에 해준다.
friend의 경우 private멤버를 public하게 해줄 수 있다.
그리고 연산자의 왼쪽 객체와 오른쪽 객체가 모두 필요함..
© 모양이..이상한..c모양으로 나온다...?헐..
'@ 16. 1 ~ 17. 1 > C++' 카테고리의 다른 글
파일 입출력..ifstream / ofstream 다시 한번정리.. (1) 2013.03.09 2차원 동적배열 생성, 초기화, 복사 (0) 2013.02.24 const의 위치에 따른 이야기.. (0) 2013.02.23 배열 포인터, 포인터 배열 (0) 2013.02.22 달력만들기 (0) 2013.02.20