EC+面向对象程序设计 计算机与信息学院 罗宪
C++面向对象程序设计 计算机与信息学院 罗宪
第五章多态性(教材()P252-P304) 本章主要内容: >多态性及有关概念 >运行符重载 >虚函数
第五章 多态性 (教材⑴P252-P304) 本章主要内容: ➢多态性及有关概念 ➢运行符重载 ➢虚函数
第一节多态性及有关概念 多态性 >多态性:是指不同对象在收到相同的消息时,产生不 同的动作用同一个名字定义不同的函数,执行不 同但相似的操作实现 个接口,多种方法 →二、联编的概念及分类 1、联编的概念 联编:源程序经过编译、联接成可执行文件的过 程 即将可执行代码联编(装配)在一起的过程。 联编的分类 静态联编〔前期联编):在运行前完成的联编 在 编译时完成(要求在编译时就知道调用函数的全部信 息)—其优点是“效率高
第一节 多态性及有关概念 一、多态性 ➢多态性:是指不同对象在收到相同的消息时,产生不 同的动作——用同一个名字定义不同的函数,执行不 同但相似的操作——实现“一个接口,多种方法”。 二、联编的概念及分类 1、联编的概念 ➢联编:源程序经过编译、联接成可执行文件的过 程 ——即将可执行代码联编(装配)在一起的过程。 2、联编的分类: ➢静态联编(前期联编):在运行前完成的联编——在 编译时完成(要求在编译时就知道调用函数的全部信 息)——其优点是“效率高”
第一节多态性及有关概念 动态联编(后期联编):在运行时才完成的联编.在程 态调用 活性”、向题的泉性”、程序的另维护性 三、多态性的分类 >编译时多态性:静态联编支持的多态性(静态多态性) 通过函数重载及运算符重载实现。 >运行时多态性:动态联编支持的多态性(动态多态性) 通过虚函数实现。 四、函数重载 同按个类由的回名函数_套数个数不一样、参数类型不 >不同类中的同名函数通过类名调用或类的对象调用。 >同一个类中同名的普通成员函数及常量成员函数通过 cons实现重载
第一节 多态性及有关概念 ➢ 动态联编(后期联编):在运行时才完成的联编——在程 序运行时动态调用所需函数——优点是提供了更好的“灵 活性” 、问题的“抽象性” 、程序的“易维护性” 。 三、多态性的分类 ➢ 编译时多态性:静态联编支持的多态性(静态多态性)— —通过函数重载及运算符重载实现。 ➢ 运行时多态性:动态联编支持的多态性(动态多态性)— —通过虚函数实现。 四、函数重载 ➢ 同一个类中的同名函数——参数个数不一样、参数类型不 一样、参数个数及类型不一样; ➢ 不同类中的同名函数——通过类名调用或类的对象调用。 ➢ 同一个类中同名的普通成员函数及常量成员函数——通过 const实现重载
第〓节运算符载(敵材①P253285) 类以外的运算符重载 例【5.1】分析程序结果,熟悉在类外重载运算符。 #include <iostream.h> class complex i public: double real double imag: complex(double r=0, double i=0) freal=r; imag=i; complex operator+(complex col, complex co2) complex temp; temp. real=col real+co2. real; temp. imag=colimag+co2 imag return temp
第二节 运算符重载(教材①P253-285) 一、类以外的运算符重载 例【5.1】分析程序结果,熟悉在类外重载运算符。 #include <iostream.h> class complex { public : double real ; double imag; complex(double r=0,double i=0) {real=r;imag=i;} }; complex operator+(complex co1,complex co2) {complex temp; temp.real=co1.real+co2.real; temp.imag=co1.imag+co2.imag; return temp; }