C++——virtual

一、放在父类的函数名前面:多态

1.作用:实现多态:子类可以自定义父类中的virtual函数

#include <iostream>

using namespace std;

class A
{
public:
    void display()
    {
        cout << "class a" <<endl;
    }
};

class B : public A
{
public:
    void display()
    {
        cout << "class b"<<endl;
    }
};

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

结果显示:class b

如果去掉class a中的virtual,结果显示:class a

二、放在子类的继承方式前面:虚继承(用的少)

1.作用:避免重复构造或析构

猜你喜欢

转载自www.cnblogs.com/yrm1160029237/p/10034725.html