多态性——运算符重载(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27305031/article/details/54341555
  1. 多态性是指不同的对象收到相同的信息是,产生不同的行为。C++中可以用同一个函数名调用不同内容的函数,这些函数执行不同但又类似的操作,这样就可以用同一个函数名调用不同内容的函数。
  2. 一个源程序经过编译,连接成为可执行文件的过程就是把可执行代码的联编。运行之前的联编就是静态联编,在运行时完成的成为动态联编。
  3. 静态联编是指系统在编译时就决定如何实现这一动作,效率高是静态联编的主要优点;动态联编是指系统在运行动态实现某一动作,提供了更好的灵活性,问题抽象性和程序易维护性
  4. 静态的多态性称为编译时多态性,也称静态多态性,需要通过函数重载或者模板实现;动态多态性称为运行时的多态性,一般通过虚函数进行实现。
  5. 运算符重载是通过运算符重载函数来实现的。可以是在类外定义的普通函数,也可以是类的成员函数或友元函数。
  6. 类外定义的普通函数
    这里写图片描述

  7. 运算符重载的规定
    (1)大部分的运算符可以重载,成员访问符”.”,成员指针访问运算符”.“,作用域运算符“::”,条件运算符”?:”,长度运算符“sizeof”.*
    (2)重载不改变操作对象的个数,重载后事双目的仍旧是。
    (3)重载不改变运算符原来的优先级。
    (4)运算符重载参数至少有一个是类对象,也就是重载参数的不能全部是C++的标准类型。
    (5)运算符重载函数可以是普通函数也可以是成员函数或者是类的友元函数。
    (6)类对象的运算符可以重载,但是赋值运算符”=“除外,不必用户重载。

猜你喜欢

转载自blog.csdn.net/qq_27305031/article/details/54341555