1.1 多态的概念
简单理解:同一个接口,多种实现方式,让不同类的的对象对同一件事情可以采用不同方法去做
1.2 多态的作用
(1)应用程序可以不必为一个派生类编写功能调用,而只需要对抽象基类进行处理即可,实现代码重用;
(2)派生类的功能可以被基类的方法或引用变量调用,这称作向后兼容。
1.3多态实现
动态分为动态多态,静态多态,函数多态和宏多态,编程者的动态多态通常是指动态多态,是是基于继承机制和虚函数实现的。
2.1动态的实例
(1)用指针来来实现多态:
#include<iostream>
using namespace std;
class base
{
public:
virtual void test()
{
cout<<"this is base"<<endl;
}
};
class derived_one:public base
{
public:
void test()
{
cout<<"this is derived_one"<<endl;
}
};
class derived_two:public base
{
public:
void test()
{
cout<<"this is derived_two"<<endl;
}
};
int main()
{
base base_self;
base_self.test();
base* base_p = new derived_one;
base_p->test();<