게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c++ 연산자 오버에 관한 코딩인데 어디가 잘못되었는지 확인 부탁드립니다
게시물ID : programmer_21676짧은주소 복사하기
작성자 : 든해솔
추천 : 0
조회수 : 477회
댓글수 : 2개
등록시간 : 2017/11/12 16:43:46
옵션
  • 본인삭제금지
  • 외부펌금지
#include <iostream>
using namespace std;

class Complex {
private:
double real;
double image;
public:
Complex() {};
Complex(double n, double m){
real = n;
image = m;
}
Complex operator =(Complex c);
void PrintComplex(){
cout << real << "+" << "j" <<  image << endl;
}
};

Complex Complex::operator =(Complex c){
Complex tmp;
tmp.real = c.real;
tmp.image = c.image;
return tmp;
}

int main() {
Complex c1(1.2, 2.4), c2(1.0, 0.2);

       c2 = c1;
c2.PrintComplex();
}

c1에 있는 값을 c2에 덮어씌우고 싶습니다만..... 
c2객체를 프린트함수에 넣으면 1.2+j2.4 가 아닌 원래의 1.0+j0.2 즉, 원래의 c2값이 튀어나옵니다.

operater = 구현 부분이 잘못된것같은데 도와주세요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠ
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호