【c++】多态:多态与虚函数、重载、抽象类
1.多态
2.抽象类
3.重载
参考:
《c++从入门到精通》 人民邮电出版社
1.多态
多态是面向对象程序设计的重要特征之一,是扩展性在“继承”之后的又一重大表现。
多态:是指同一操作作用于不同的类的实例时,将产生不同的执行结果。即:不同的类的对象,收到相同的消息时,得到不同的结果。
比如,同样是运动,马是奔,鸟是飞,人是走,袋鼠是跳。这就是多态。
多态性可以分为:
编译时的多态性
运行时的多态性
其中,编译时的多态性又称静态联编,其实现机制为重载;运行时的多态性又称动态联编,其实现机制为虚函数。
所以实现多态有两种方法:虚函数和重载。
那么如何使用多态呢?
建筑类CBuilding为基类,其派生类为桥类CBridge,二者都有显示函数display(),但功能不同。
先看例1:普通的成员函数display(),未实现多态。
分析结果发现桥类的输出没有输出长度length,因此没有实现多态。
//多态性.cpp
#include<iostream>
#include<string.h>
using namespace std;
class CBuilding //建筑类
{
private:
string name;
public:
void set(string str)
{
name=str;
}
void display()
{