首页 > 编程语言 >C++运算符重载

C++运算符重载

时间:2023-04-06 20:57:18浏览次数:43  
标签:函数 zone C++ 运算符 operator 重载

什么是运算符重载

运算符重载(Operator overload)是对已有的运算符赋予多重含义,使同一个运算符作 用于不同类型的数据时做出不同的行为。

运算符重载的意义

运算符重载的本质是函数重载,是实现多态的重要手段,为用户提供了一个直观的接口。 调用运算符操作自定义数据类型其实就是调用运算符函数。运算符重载使用同样的运算 符,可以操作不同的数据,增强了C++的可扩充性,使代码更加直观、易读,便于对对 象进行各种运算操作。

运算符重载的语法格式

重载的运算符是具有特殊名字的函数:它们的名字由关键字operator,后跟要重载的运 算符。

返回类型 operator 运算符(参数列表)

{

    函数体;

}

举例:

struct zone
{
    double l,r;
    bool operator < (const zone&r) const
    {
        return r<t.r;//作用,把所有的zone结构体按照r的大小排序
    }
}z[100];

 

标签:函数,zone,C++,运算符,operator,重载
From: https://www.cnblogs.com/LHJ822/p/17272749.html

相关文章

  • c++primer3.5数组
    3.5 数组数组大小固定,灵活性差。3.5.1 定义和初始化内置数组数组维度是一个常量表达式,数组的元素是一个对象。不允许用auto关键字由初始值的列表推断类型,必须指定数组类型。数组无法进行拷贝。数组本身就是对象,允许定义数组的指针以及数......
  • c++字符串拆分
    1staticvoidSplitString(conststring&data,conststring&delim,2std::vector<string>*result){3std::string::size_typepos;4constintsize=data.size();56for(intindex=0;index<size;++index)......
  • 尾置const:参数列表相同却重载的函数
    观察下面两个函数,它们具有相同的参数列表,貌似无法重载:   string&operator[](size_tn){returnelements[n];}2.   conststring&operator(size_tn)const {returnelements[n];}但实际上,函数2的尾置const使得对*this进行了筛选,于是:当非const对象调......
  • 逍遥自在学C语言 | 逻辑运算符
    前言一、人物简介第一位闪亮登场,有请今后会一直教我们C语言的老师——自在。第二位上场的是和我们一起学习的小白程序猿——逍遥。二、构成和表示方式逻辑运算符是用来比较和操作布尔值的运算符C语言中的逻辑运算符主要有3个,如下表所示运算符名称示例描......
  • C++,OpenCV-颜色模型转换(4)
    HSV颜色模型HSV模型HSV(Hue,Saturation,Value)根据颜色直观特性创建的一种颜色空间,也称六角锥体模型(HexconeModel),参数分别为色调(H),饱和度(S),明度(V)色调H用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°......
  • C++中的元编程常用工具
    std::forward : 通常是用于完美转发的,它会将输入的参数原封不动地传递到下一个函数中,这个“原封不动”指的是,如果输入的参数是左值,那么传递给下一个函数的参数的也是左值;如果输入的参数是右值,那么传递给下一个函数的参数的也是右值。std::remove_reference_t : 是一个模板......
  • C++实现一个类
    #include<iostream>usingnamespacestd;//定义一个人的类classPerson{private:intage;//年龄floatheight;//身高public://构造函数,初始化年龄和身高Person(intage,floatheight){this->age=age;this->height=h......
  • 《c++徒步》dll篇
    DLL简介c++中共有两种库:1、LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamiclinklibrary。(这种方式更灵活,写的程序体积小,但是需要.exe和dll同时发布)2、LIB包含函数代码本身,在编译时直接将代码加入程序当中,......
  • C++ MFC中嵌入web网页控件(WebBrowser、WebView2、CEF3)
    1、简介WebBrowser控件最常见的用途之一是向应用程序添加Internet浏览功能。使用IWebBrowser2接口,可以浏览到本地文件系统、网络或万维网上的任何位置。可以使用IWebBrowser2::Navigate方法告知控件要浏览到哪个位置。第一个参数是包含位置名称的字符串。要浏览到本地文件系......
  • 3-运算符
    1.运算符和表达式运算符:​就是对常量或者变量进行操作的符号。​比如:+-*/表达式:​用运算符把常量或者变量连接起来的,符合Java语法的式子就是表达式。​比如:a+b这个整体就是表达式。​而其中+是算术运算符的一种,所以这个表达式也称之为算术表达式。2.算术运......