아래 소스에서
void get_xy(int &i,int &j){i=x,j=y;}
이 멤버 함수는 특정한 값을 리턴시키지도 않는데 어떻게
o3.get_xy(x,y);
cout<<"(o1*o2)X:"<<x<<",Y:"<<y<<"\n";
이렇게 쓰일수가 있나요?
그리구
void get_xy(int &i,int &j){i=x,j=y;}
여기서 &i,&j를 참조메개변수로 받아서 X,와 Y의 값을 받는이유는모조?
그냥 바로 X,Y를 리턴시키면 되지 않나요?
예를들면 void get_xy(){return x,y;} 이런식으로.
그리고 비공개 멤버로 선언됀 x,y하고 메인에서 정의한 x,y하고는
각각 ..각각 틀린 변수인가요
#include<iostream.h>
class coord{
int x,y;
public:
coord(){x=0,y=0;}
coord(int i,int j){x=i,y=j;}
void get_xy(int &i,int &j){i=x,j=y;}
coord operator*(coord ob2);
};
coord coord::operator*(coord ob2)
{
coord temp;
temp.x=x*ob2.x;
temp.y=y*ob2.y;
return temp;
}
main()
{
coord o1(10,10),o2(5,3),o3;
int x,y;
o3=o1*o2;
o3.get_xy(x,y);
cout<<"(o1*o2)X:"<<x<<",Y:"<<y<<"\n";
return 0;
}
|