• CSE207 객체지향 강좌 및 C++ 관련, 누구나 묻고 답하는 게시판 입니다.
  • CSE207 수강생이 아니여도 편안하게 질문하세요.
  • 첨부화일은 이미지 화일 혹은 zip 화일로 업로드 하기를 권합니다.

제목review 코드 질문합니다!2019-11-11 23:58
작성자

#include <iostream>

using namespace std;


class Complex {

double re, im;

public:

Complex(double r, double i) { re = r; im = i; }

Complex() { re = 0; im = 0; }


Complex operator+ (const Complex& comp) {

/*Complex result(re + comp.re, im + comp.im);

return result;*/

re += comp.re;

im += comp.im;

return *this;

}


Complex operator+ (const double& r) {

/*Complex result(re + r, im);

return result;*/

re += r;

return *this;

}


Complex operator- (const Complex& comp) {

/*Complex result(re - comp.re, im - comp.im);

return result;*/

re -= comp.re;

im -= comp.im;

return *this;

}


Complex operator- (const double& r) {

/*Complex result(re - r, im);

return result;*/

re -= r;

return *this;

}


void print() {

cout << re << " + i" << im << endl;

}

};


int main() {

Complex a(.3, 8.4), b(4.5, 5.2), c(2.0, 7.7);

Complex sum, dif;

sum = a + b + 3.0;

cout << "a + b + 3.0 = ";

sum.print();


dif = a - b - 2.0;

cout << "a - b - 2.0 = ";

dif.print();


sum = a + b + 5 - c - 8;

cout << "a + b + 5 - c - 8 = ";

sum.print();


return 0;

}


처음에는 추석처리 안된 부분으로 코드를 돌려봤는데

a - b - 2.0에서 b는 안 빼지고 2.0만 빼지더라고요...

(다른 부분은 전부 잘 작동함)

그래서 - 연산자들만 주석처리처럼 바꿔봤는데 그 때도 안되고...

마지막으로 +, - 연산자 전부 주석처리처럼 바꿨는데 이번에는 +도 -도 전부 잘 작동하더라구요...


혹시 왜 그런지 알 수 있을까요? ㅜㅜ



댓글