第二节,重载运算符

     所谓重载运算符即是扩展你要重载的那个运算符的功能,它就相当于objective-C中得类目一样,你不明白类目得话,也可以这样去理解:比如咱们要扩展一个“+”的功能,在没有扩展的情况下,他的作用就是将基本数据类型的进行相加。我们想要两个复数相加,那么就不能用“+”,这时我们就需要扩展“+”,让他也能让两个复数相加,下面我们就通过一个简单的例子---复数相加,来学习一下运算符的重载。

    首先上代码:

 <!----------------------h文件--------------------->

#ifndef _________Complex__
#define _________Complex__

#include <iostream>

class Complex
{
public:
    double real;//实部
    double viurter;//虚部
    
public:
    Complex(double aReal=0,double aViuter=0)
    {
        this->real = aReal;
        this->viurter = aViuter;
    }
    ~Complex()
    {
        std::cout<<"销毁"<<std::endl;
    }
    
};
    Complex operator+(Complex one,Complex two);


#endif /* defined(_________Complex__) */

 <!----------------------h文件--------------------->


 <!----------------------cpp文件--------------------->

#include "Complex.h"

Complex operator+(Complex one,Complex two)
{
    return Complex(one.real+two.real,one.viurter+two.viurter);
}
 <!----------------------cpp文件--------------------->

 <!----------------------调用--------------------->

#include <iostream>
#include "Complex.h"

using namespace std;

int main(int argc, const char * argv[])
{

    Complex com1(2,3),com2(5,6),sum;
   // sum = com1+com2;
    sum = operator+(com1,com2);
    cout<<"sum.real = "<<sum.real<<std::endl;
    return 0;
}
 <!----------------------调用---------------------->
1,形式:返回类型 operator重写的符号(参数)
2,调用的时候两种方式都可以   
   sum = com1+com2;
   或者   
   sum = operator+(com1,com2);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值