|
우선 답변 감사드리구요..
제가 소스를 마지막 부분에 추가 하지 않은것이 있네요. 마지막 부분에 data3=20+data2 다음에
data3.show() 를 해 준다는 것을 잊고 있었네요..
답변주신님의 소스로 컴파일을 하면 되긴되는데요.. 제가 의도한 바와 약같 틀리기 때문에
다시 이렇게 올립니다.
원래 소스에
stock operator+(const stock &d);
friend stock operator+(int n,const stock &d);
이렇게 연산자 재지정에 관한 것이 두개가 있는데요.
처음것은 객체와객체를 더하기 위해서 만든것이고.. 다음의 프랜드 함수는
정수+객체를 하기 위해서 만든것인데요..
그렇기 때문에 마지막에 있는 data3=20+data2; 를 해 준것이구요.
답변주신님께서는 두번째 프렌드 함수를 객체+객체 형식으로 답변을 주셔서.... 제가 의도한바랑
은 약간틀려서 이렇게 다시 올립니다.
프렌드 함수는 멤버가 아니니까.. 멤버가 아닌 함수에 대해서는 int n 이 + 연산자의
좌측 피연산자가 되야하고, const stock &d 가 + 연산자의 우측 피연산자가 되는 것이 아닌가요?
일반 클래스의 멤버함수로는 정수+객체를 계산할수가 없으니까.. 만든것인데.. 뭐가 잘못된것인지
모르지만 아래와 같은 에러 메세지가 나오면서 컴파일이 안돼는 군요..
fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 1786)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
Error executing cl.exe.
이건 문법상의 오류인지.. 컴파일러 자체의 오류인지 잘 모르겠습니다.
답변쓰신님께서는 어떤 오류가 나왔는지 모르겠는데요.. 저것에 대해서 아신다면 설명좀 다시
부탁드릴께요..
|