C++语言程序设计 第八章多性
1 第八章 多态性 C++语言程序设计
C++语言程序设计 本章主要内容 多态性 运算符重载 虚函数 纯虚函数 ●抽象类 x
C++语言程序设计 2 本章主要内容 ⚫ 多态性 ⚫ 运算符重载 ⚫ 虚函数 ⚫ 纯虚函数 ⚫ 抽象类
C++语言程序设计 多态性的概念 ●多态性是面向对象程序设计的重要特征之一。 多态性是指发出同样的消息被不同类型的对象 接收时有可能导致完全不同的行为。 多态从实现的角度来讲可以划分为两类:编译 时的多态和运行时的多态。前者是在编译的过 程中确定了同名操作的具体操作对象,而后者 则是在程序运行过程中才动态地确定操作所针 对的具体对象。 x
C++语言程序设计 3 多态性的概念 ⚫ 多态性是面向对象程序设计的重要特征之一。 ⚫ 多态性是指发出同样的消息被不同类型的对象 接收时有可能导致完全不同的行为。 ⚫ 多态从实现的角度来讲可以划分为两类:编译 时的多态和运行时的多态。前者是在编译的过 程中确定了同名操作的具体操作对象,而后者 则是在程序运行过程中才动态地确定操作所针 对的具体对象
C++语言程序设计 多态的形式 ●常见形式 函数重载 运算符重载 虚函数 x
C++语言程序设计 4 多态的形式 ⚫ 常见形式 – 函数重载 – 运算符重载 – 虚函数
C++语言程序设计 为何要重载运算符? C++把用户定义的类和基本数据类型一样看待。 系统为基本数据定义了运算符(如++)。C++ 中预定义的运算符其运算对象只能是基本数据 类型,而不适用于用户自定义类型(如类)。 ●允许用户自定义的类类型定义这些运算符。 重新定义运算符的运算规则就称为重载运算符。 运算符重载能提高程序可读性,但并不是必须 的 运算符重载看作类中提供的另一种形式的接口
C++语言程序设计 5 为何需要重载运算符? ⚫ C++把用户定义的类和基本数据类型一样看待。 系统为基本数据定义了运算符(如+-*/)。C++ 中预定义的运算符其运算对象只能是基本数据 类型,而不适用于用户自定义类型(如类)。 ⚫ 允许用户自定义的类类型定义这些运算符。 ⚫ 重新定义运算符的运算规则就称为重载运算符。 ⚫ 运算符重载能提高程序可读性,但并不是必须 的。 ⚫ 运算符重载看作类中提供的另一种形式的接口