zoukankan      html  css  js  c++  java
  • 运算符重载

    1、符号重载:

     c++符号增加支持自定类型的操作数.实际是一个特殊函数.函数名为:

        operator 符号
      

    c++ 支持可重载符号:
       算术运算符:+,-,*,/,%,++,--
       位操作运算符:&,|,~,^,<<,>>
       逻辑运算符:!,&&,||;
       比较运算符:<,>,>=,<=,==,!=;
       赋值运算符:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=;
       其他运算符:[],(),->,,(逗号运算符)
       operator new  operator new[]  operator delete  operator delete[]
     

    2、c++ 不支持重载的符号:
       . 成员选择
       .* 通过到成员的指针做成员选择
       :: 作用域解析
       ?: 三元条件运算符
       sizeof


    3、  符号重载语法:
         返回值类型  operator 符号(参数列表);


    4、 符号重载特点:
      1.不是创建一个新符号
      2.不改变符号优先级
      3.不改变符号的结合性
      4.不改变符号操作个数
     
    5、 符号重载定义两个方式:
      1.类的成员函数
      2.友元函数
      类的成员函数重载,如果重载符号需要两个操作数,在定义是只需要一个参数,另一个用this代替
      如果重载符号需要一个操作数,在定义是无参,用this代替
      =,(),[] 和-> 只能使用成员函数方式重载

      友元函数:重载符号需要几个操作数就定义几个参数.
     >>  << 只能使用友元函数方式重载
      
    6、 前置++:即++运算符位于操作数的前面,例如:++i;
     后置++:即++运算符位于操作数后面,例如:i++;
     注意一下几点:
     1、前置++重载时没有参数,而后置++重载时有参数。不会使用其参数,仅仅是区分用。
           可以理解为前置++后面有参数了,所以不需要参数
     2、前置++需要返回引用,因为重载自加运算符后可以返回对象的引用,
          以方便在表达式中连续使用。而后置++返回的不是引用,所以不能进行连续使用。

    复数:a+bi

     
  • 相关阅读:
    将您的基于 Accelerator 的 SAP Commerce Cloud Storefront 迁移到 Spartacus Storefront
    SAP S/4HANA: 一条代码线,许多种选择
    windows系统中远程登录ubuntu18服务器的桌面
    C语言格式控制符/占位符
    C语言变量声明和定义
    C语言数据类型 / 变量类型
    C语言 Hello World
    C语言代码注释
    变量命名 – 匈利亚命名法则
    设置 Visual Studio 字体/背景/行号
  • 原文地址:https://www.cnblogs.com/ice-arrow/p/11120417.html
Copyright © 2011-2022 走看看