运算符重载

2020-05-12  本文已影响0人  始于尘埃

知识梗概

1.一个简单的实例-“+”实现负数相加
2.运算符重载函数:类成员函数和友元函数的区别

正文

1.一个简单的实例-“+”实现负数相加

//“+”实现复数的加法
#include<iostream>
using namespace std;
class Complex{
    public:
        Complex(){
            real = 0;imag = 0;
        }
        Complex(double real,double imag){
            this->real = real;
            this->imag = imag;
        } //定义构造函数
        Complex operator + (Complex &c2); //声明运算符重载,返回对象:Complex 
        void display();
    private:
        double real;
        double imag;
}; 
Complex Complex::operator + (Complex &c2){
    return Complex(real+c2.real,imag+c2.imag);   //返回临时对象 
}
void Complex::display(){
    cout<<"(real,image)="<<"("<<real<<","<<imag<<")"<<endl;
}
int main(){
    Complex c1(3.0,4.0),c2(1,2),c3,c4;
    c3 = c1+c2; //运行机制:c2为形参,“+”由c1调用,c1.operator+(c2) 
    c4 = c1.operator +(c2);  //等同于上一行 
    cout<<"c3=";c3.display();
    cout<<"c4=";c4.display();
    
    return 0; 
}




上一篇 下一篇

猜你喜欢

热点阅读