C++语言程序设计 第八章多态性 清华大学郑莉
1 第八章 多态性 清华大学 郑 莉 C++语言程序设计
C++语言程序设计 清华大学郑莉 本拿主要内容 ●多态性 ·运算符重载 ●虚函数 ·纯虚函数 ●抽象类 ·深度探索
C++语言程序设计 清华大学 郑莉 2 本章主要内容 ⚫ 多态性 ⚫ 运算符重载 ⚫ 虚函数 ⚫ 纯虚函数 ⚫ 抽象类 ⚫ 深度探索
C++语言程序设计 清华大学郑莉 多态性的概念 ● 多态性是面向对象程序设计的重要特 征之一。 ● 多态性是指发出同样的消息被不同类 型的对象接收时有可能导致完全不同 的行为。 ● 多态的实现: 一函数重载 运算符重载 -虚函数
C++语言程序设计 清华大学 郑莉 3 多态性的概念 ⚫ 多态性是面向对象程序设计的重要特 征之一。 ⚫ 多态性是指发出同样的消息被不同类 型的对象接收时有可能导致完全不同 的行为。 ⚫ 多态的实现: – 函数重载 – 运算符重载 – 虚函数
C++语言程序设计 清华大学郑莉 问题举例— 复数的运算 运 算class Complex{/复数类声明 符 public: 重 Complex(double r 0.0,double i=0.0){ real r;imag=i; 载 void display(const; /显示复数的值 private: double real; double imag; };
C++语言程序设计 清华大学 郑莉 4 问题举例——复数的运算 class Complex { //复数类声明 public: Complex(double r = 0.0,double i = 0.0) { real = r; imag=i; } void display() const; //显示复数的值 private: double real; double imag; }; 运 算 符 重 载
C++语言程序设计 清华大学郑莉 问题举例 复数的运算 运 算 ●用“+”、“”能够实现复数的加减运 符 算吗? 重 载 ·实现复数加减运算的方法 —重载“+”、“”运算符
C++语言程序设计 清华大学 郑莉 5 问题举例——复数的运算 ⚫ 用“+”、“-”能够实现复数的加减运 算吗? ⚫ 实现复数加减运算的方法 ——重载“+”、“-”运算符 运 算 符 重 载