zoukankan      html  css  js  c++  java
  • C++ 运算符重载简单介绍

    我们之前了解过函数的重载(详见C++函数(二))。它使得同名的函数可以接受不同的参数,实现不同的功能。而运算符重载和函数的重载很相似。也就是说,同样是运算符“+”,在不同的地方使用具有不同的功能。

    还是举个例子来说:

    (1) 如果操作数是两个数

    int a = 1, b = 2;
    cout << a+b << endl;

    此时“+”的作用是将两个数相加起来。

    (2) 如果操作数是两个字符串

    string a = "I like ";
    string b = "C++! ";
    cout << a+b << endl;

    此时“+”的作用是将两个字符串拼接起来。

    如我们在上面看到的,“+”在不同的场景下实现了不同的功能,这就是运算符重载。

    其实,使用一个运算符就是调用一个函数。比如“+”就相当于函数“operator+()”看下面的代码

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        string a = "I like ", b = "C++! ";
        cout << a + b << endl;
        cout << "----------------" << endl;
        cout << operator+(a, b) << endl;
        return 0;
    }

    运行结果:

     可以看到,a+b与operator+(a, b)运行的结果是一样的。

    因为“+”相比“operator+()”使用简单很多,所以我们平时只使用运算符“+”。

    像“operator+()”这样的函数,我们叫做运算符函数。

    那么运算符重载就好理解了,它本质上就是函数的重载。

  • 相关阅读:
    Promise对象
    iterator和for of 循环
    vue项目基本流程
    BASH_SOURCE 用法
    Java GC CMS 日志分析
    zookeeper 删除snapshot和transaction log的源码解读
    openresty nginx 安装过程记录
    opentesty--luasocket 安装
    为什么要使用SLF4J而不是Log4J
    要过一遍的博客列表
  • 原文地址:https://www.cnblogs.com/bwjblogs/p/12976384.html
Copyright © 2011-2022 走看看