C++运算符重载

来源:互联网 发布:唐嫣香港知乎 编辑:程序博客网 时间:2024/06/10 01:15
#include "stdafx.h"#include<iostream>class Complex{public:Complex();Complex(double r, double i);Complex C_add(Complex &d);void print();private:double real;double imag;};Complex::Complex(){real = 0;imag = 0;}Complex::Complex(double r, double i){real = r;imag = i;}Complex Complex::C_add(Complex &d){Complex c;c.real = real + d.real;c.imag = imag + d.imag;return c;}void Complex::print(){std::cout<< "(" << real << "," << imag << "i)\n";}int main(){Complex c1(3, 4), c2(5, -10), c3;c3 = c1.C_add(c2);c1.print();c2.print();c3.print();return 0;}

重载




#include "stdafx.h"#include<iostream>class Complex{public:Complex();Complex(double r, double i);Complex operator + (Complex &d);void print();private:double real;double imag;};Complex::Complex(){real = 0;imag = 0;}Complex::Complex(double r, double i){real = r;imag = i;}Complex Complex::operator+(Complex &d){Complex c;c.real = real + d.real;c.imag = imag + d.imag;return c;}void Complex::print(){std::cout<< "(" << real << "," << imag << "i)\n";}int main(){Complex c1(3, 4), c2(5, -10), c3(5,100),c4;c4 = c1+c2+c3;c1.print();c2.print();c4.print();return 0;}