重写virtual时不写关键字会发生什么

#include <iostream>

using namespace std;

class A
{
public:
    virtual void f()
    { cout << "A";}
};

class B: public A
{
public:
     void f()
    { cout << "B";}
};

void main()
{
    B b;
    A* pb = &b;
    B* pb1 = &b;

    pb->f();
    pb->A::f();
    pb1->A::f();
    //我依稀记着几句话,1:去覆盖虚函数的时候,一般也要加virtual,不加
    //就会把他遮挡,这也是我理解偏激的地方,就成了private,后又讲像是
    //D中同时存在两个f(),而inside说,没写跟写了根本一样

}

就一句话,别多想
,没写跟写了根本一样

猜你喜欢

转载自blog.csdn.net/qq_24328911/article/details/51405741