您的位置:首页 > 编程语言 > C语言/C++

C++ 讲解:多态

2016-01-11 22:14 330 查看

什么是多态

多态是基于继承和封装的。

术语来说就是用子类创建父类的对象。

如何实现多态

C++ 中多态用virtiual 关键字来实现。

一旦父类的函数被virtual 修饰,如果子类有同名函数,用子类初始化父类就会执行子类的函数。

代码演示

最后输出结果为:A1

#include <iostream>
using namespace std;

class A{

public:
virtual ~A(){}
virtual void say(){cout << "A" << endl;}

};

class A1:public A{
public:
virtual ~A1(){}
void say(){cout << "A1" << endl;}
};

int main() {

A *a = new A1;
a->say();

return 0;
}


注意事项

子类初始化父类,最好把父类的构析函数用virtual 修饰,这样回收父类对象时,就会执行子类的构析函数。

构造函数、全局函数、内联函数、静态函数不能被virtual 修饰。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++