CSE207 객체지향 강좌 및 C++ 관련, 누구나 묻고 답하는 게시판 입니다. CSE207 수강생이 아니여도 편안하게 질문하세요. 첨부화일은 이미지 화일 혹은 zip 화일로 업로드 하기를 권합니다. 제목review 3 1번 질문입니다.2019-11-12 15:24작성자dg#include <iostream>#include <vector>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 pt1) { Complex result(this->re + pt1.re, this->im + pt1.im); return result; } // + 연산자 구현 Complex& operator+(const double a) { Complex result(this->re + a, this->im); return result; } // - 연산자 구현 Complex& operator-(Complex pt2) { Complex result(this->re - pt2.re, this->im - pt2.im); return result; } // - 연산자 구현 Complex& operator-(const double a) { Complex result(this->re - a, this->im); return result; } 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;}위와 같이 코드를 작성했는데요.쓰레기값? 이 나옵니다.main 함수에서 c = a+b, d = c + 3.0 이런 식으로 수정하면 값이 올바르게 나오는데요.main함수를 수정하지 않고는 어떻게 해야 값이 바르게 나오는지 궁금합니다.complex a, b를 합한 값이 어딘가에 저장되지 않아서 중간에 계산이 제대로 되지 않는 것 같긴한데, 잘 모르겠어서 질문드립니다. 목록수정삭제답변글쓰기 댓글 [2] 댓글작성자(*)비밀번호(*)내용(*) 댓글 등록 더보기이전연산자(=) 오버로딩의 역할cpp2019-11-12다음review 코드 질문합니다!붕빵2019-11-11 Powered by MangBoard | 워드프레스 쇼핑몰 망보드