张斯禹的技术专栏 C++ and Python Coder

ros项目调试:vscode下配置开发ROS项目

2019-03-19

C++

C++ virtual的三种用法

1.为实现多态在基类中对应函数使用virtual关键字

#include<iostream> 
using namespace std;
class A{
public:
     virtual  void  display(){  cout<<"A"<<endl; }
     };
class B :  public A{
public:
            void  display(){ cout<<"B"<<endl; }
     };

int main(int argc,char* argv[])
{
    A *p = new B();
    p->display();
    delete p;
    return 0;
}

*当基类A的函数display有virtual时会实现多态执行B中的display *否则p会被看作A的对象从而执行A中的display

虚继承,为解决存在共同基类时重复实例化基类

虚析构函数解决用基类指针指向派生类(多态时)的基类析构函数不运作问题.


Similar Posts

Comments