C++学习之多态篇(多态的几个特点)

1.虚函数特性可以被继承,当子类中定义的函数与父类中声明的虚函数相同时,(同名同参同返回值),该函数也是虚函数;用父类的指针指向子类的对象时,用该指针调用这个同名函数时,会去调用子类的该函数,这就是多态;

2.虚析构函数是为了避免使用父类指针释放子类对象时造成内存泄露;

3.在c++中多态的实现是通过虚函数表来实现的;

4.每个类只有一份虚函数表,所有该类的对象公用同一张虚函数表;

5.两张虚函数表中的指针可能指向相同的函数,(具体原因见前面讲虚函数表的博客);

6.当类中仅含有虚析构函数时,该类也会产生一张虚函数表;

7.多态具体到语法是指使用父类指针指向子类对象,并可以通过该指针调用子类的方法;

8.产生多态的基础是继承,没有继承就没有多态

9.多态的语法核心是virtual关键字,必须使用virtual才能使多个类之间建立多态关系。

你可能感兴趣的:(C++学习之多态篇(多态的几个特点))