ProDeveloperTutorial.com

教程和编程解决方案
菜单
  • Shell脚本
  • 系统设计
  • Linux系统编程
  • 4g LTE
  • 编码问题
  • C
  • C ++
  • DSA
  • GIT

CPP第54章:CPP中的二进制运算符重载

前开发者教程 2020年2月26日

在本章中,我们将看到如何重载二进制运算符[+,-,*,/]。

例:

#include <iostream>
// for more tutorials check www.prodevelopertutorial.com
using namespace std;

class MyClass
{
    private:
        int num_1;
        int num_2;
    
    public:
        MyClass(int a, int b): num_1(a), num_2(b){ }
    
    friend MyClass operator + (MyClass &obj1, MyClass &obj2);
    friend MyClass operator - (MyClass &obj1, MyClass &obj2);
    friend MyClass operator / (MyClass &obj1, MyClass &obj2);
    friend MyClass operator * (MyClass &obj1, MyClass &obj2);
    
    void display()
    {
        cout<<"The value of num_1 "<<num_1<<" The value of num_2 "<<num_2<<endl;
    }
};

MyClass operator + (MyClass &obj1, MyClass &obj2)
{
    return MyClass(obj1.num_1+obj2.num_1, obj1.num_2+obj2.num_2);
}

MyClass operator / (MyClass &obj1, MyClass &obj2)
{
    return MyClass(obj1.num_1/obj2.num_1, obj1.num_2/obj2.num_2);
}

MyClass operator * (MyClass &obj1, MyClass &obj2)
{
    return MyClass(obj1.num_1*obj2.num_1, obj1.num_2*obj2.num_2);
}

MyClass operator - (MyClass &obj1, MyClass &obj2)
{
    return MyClass(obj1.num_1-obj2.num_1, obj1.num_2-obj2.num_2);
}

int main(void)
{
    MyClass obj_1(10, 20);
    MyClass obj_2(30, 40);
    
    MyClass obj_3 = obj_1 + obj_2;
    obj_3.display();

    MyClass obj_4 = obj_1 - obj_2;
    obj_4.display();

    MyClass obj_5 = obj_1 / obj_2;
    obj_5.display();
    
    MyClass obj_6 = obj_1 * obj_2;
    obj_6.display();
    
}

输出:

The value of num_1 40 The value of num_2 60
The value of num_1 -20 The value of num_2 -20
The value of num_1 0 The value of num_2 0
The value of num_1 300 The value of num_2 800

该网站上可用的教程列表:

C编程20+章C ++编程80+章
100多个编码问题数据结构和算法85+章
系统设计20+章Shell脚本编写12章
4g LTE 60+章节最常见的编码问题
5G NR 50+章Linux系统编程20+章
分享
电子邮件
鸣叫
领英
Reddit
绊倒
Pinterest的
上一篇文章
下一篇

关于作者

前开发者教程

每天我们都会讨论竞争性编程问题,请加入我们的网站:   电报频道

ProDeveloperTutorial.com

教程和编程解决方案
版权© 2020 ProDeveloperTutorial.com
从以下课程获得热门课程: 教育性的


      <bdi id="v9CXT2M" class="vxudTwL"><summary id="ZOyjTsv" class="Zg3yi8W"></summary></bdi>





        • <abbr id="xrT9G3T"></abbr>