클래스 내부의 멤버 변수를 조작하는
++,--, 등등의 연산자를 만들라는 의미입니다.
아래 예제처럼..
obj2-- 하면.. obj2의 내부 변수가 -- 한 것처럼 감소해야 한다는 의미입니다.
C++책에서 이쪽 부분을 찾아보세요.
조영호 님이 쓰신 글 :
: 다음의 연산자에 대한 연산자 중복함수를 작성하여 클래스를 설계하고 main함수의 실행 결과를 출력하시오.
: 대입(=), 증가(++), 감소(--)
: 단축(+=, %=, <<=)
: 증가, 감소 연산자는 객체의 멤버변수를 증가, 감소 시킨다.
: 선행, 후행연산이 모두 가능해야 한다.
: 단축 연산자
: 연산결과는 객체의 멤버변수에 저장한다.
: 각 연산 결과는 멤버변수에 저장 후 출력한다.
:
: void main(){
: OpOverloads obj1(1,2), obj2(3,4); //멤버변수: x, y
: obj1++; ++obj2;
: obj1=obj2;
: cout << obj1.GetX() << “,” << obj1.GetY() <<endl;
: cout << obj2.GetX() << “,” << obj2.GetY() <<endl;
: - -obj1; obj2- -;
: cout << obj2.GetX() << “,” << obj2.GetY() <<endl;
: obj1+=obj2;
: obj1<<=obj2;
: obj1%=obj2;
: cout << obj1.GetX() << “,” << obj1.GetY() <<endl;
: cout << obj2.GetX() << “,” << obj2.GetY() <<endl;
: }
: 증, 감연산자
: 선행: operator++() 함수호출
: 후행: operator++(int x) 함수호출
: x는 0값을 갖는다.
: 멤버변수의 값을 증가, 감소 시킨다.
: 단축(+=, %=, <<=)
: 객체의 멤버변수값을 연산하여 LV(Left Value)에 저장한다.
:
: 과제인데;; 이건 이해자체가 안되서;; 건드리지도 못하고 있네요 ㅜㅡ..
|