C++运算符重载为成员函数

时间:2015-06-18 12:56:07   收藏:0   阅读:275
#include<iostream>
using namespace std;

class Complex{
public:
    Complex(double r=0.0,double i=0.0):real(r),imag(i){}
    Complex operator + (const Complex &c2) const;
    Complex operator - (const Complex &c2) const;
    void display() const;
private:
    double real,imag;
};

void Complex::display() const{
    cout<<"("<<real<<","<<imag<<")"<<endl;
}

Complex Complex::operator + (const Complex &c2) const{
    return Complex(real+c2.real,imag+c2.imag);//调用Complex构造函数创建一个临时对象并返回它
                                              //Complex c(real+c2.real,imag+c2.imag);
                                              //return c;
}

Complex Complex::operator - (const Complex &c2) const{
    return Complex(real-c2.real,imag-c2.imag);
}

int main(){
    Complex c1(5,4),c2(2,10),c3;
    cout<<"c1=";c1.display();
    cout<<"c2=";c2.display();
    c3=c1-c2;
    cout<<"c2=c1-c2=";c3.display();
    c3=c1+c2;
    cout<<"c2=c1+c2=";c3.display();
    return 0;
}

 

原文:http://www.cnblogs.com/wangkaipeng/p/4585310.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!