美文网首页
运算符重载

运算符重载

作者: 始于尘埃 | 来源:发表于2020-05-12 22:38 被阅读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; 
}




相关文章

  • 运算符重载及其他约定

    7.1 重载算术运算符 重载二元算术运算符 重载复合赋值运算符 重载一元运算符 重载比较运算符 等号运算符:‘eq...

  • C++ 部分运算符重载

    可重载的运算符 不可重载的运算符和符号 重载运算符为类的成员函数 重载运算符为友元函数 重载赋值运算符 重载流插入...

  • 2019-07-11 运算符的重载

    运算符的重载 重载运算符 (“::”,“.*”,“.”,“?:”)不能被重载。 重载运算符时,不能改变其本质,如不...

  • 运算符重载

    一.+号运算符重载 二.<<号运算符重载 三.指针运算符重载(智能指针)

  • C++运算符重载-下篇 (Boolan)

    C++运算符重载-下篇 (Boolan) 本章内容:1. 运算符重载的概述2. 重载算术运算符3. 重载按位运算符...

  • C++运算符重载-上篇 (Boolan)

    C++运算符重载-上篇 (Boolan) 本章内容:1. 运算符重载的概述2. 重载算术运算符3. 重载按位运算符...

  • C++重载

    重载 C++语言规定: 重载的运算符要保持原运算符的意义。只能对已有的运算符重载,不能增加新的运算符。重载的运算符...

  • C++运算符重载详解

    运算符重载规则 1.被重载的运算符必须是已经存在的C++运算符,不能重载自己创建的运算符; 2.运算符被重载之后,...

  • 第十一章 使用类

    运算符重载 运算符重载是一种形式的C++多态。运算符重载将重载的概念扩展到运算符上,允许赋予C++运算符多种含义。...

  • 4.0 C++远征:重载运算符

    重载运算符 [TOC] 四、重载运算符 ​ 概念 : 给原有运算符赋予新功能。 ​ 本质 : 函数重载。 ...

网友评论

      本文标题:运算符重载

      本文链接:https://www.haomeiwen.com/subject/berwnhtx.html