c++中虚函数指针,虚基类指针在派生过程不会复制吗?

我电脑运行结果是4,4,4,8,4,按这个看,基类的虚函数指针似乎不会在派生类中复制?

#include 
#include 
#include 
#include 
using namespace std;

class A {
public:
    virtual int fun() {return 1;}
};

class E : public A {
public:
    virtual int fun() {return 5;}
};

class B : virtual public A {
public:
    virtual int fun() {return 2;}
};

class C : virtual public A {
public:
    virtual int fun() {return 3;}
};

class D : public B, public C {
public:
    virtual int fun() {return 4;}
};


int main()
{
    cout << sizeof(A) << endl;    // 4
    cout << sizeof(B) << endl;    // 4
    cout << sizeof(C) << endl;    // 4
    cout << sizeof(D) << endl;    // 8
    cout << sizeof(E) << endl;    // 4

    return 0;
}

是覆盖不是复制

这个牵涉到虚基类,虚函数。
虚基类:
虚基类的特点是,虚基类的函数会比非虚基类的函数先调用,s所以B C是没有问题的。
虚函数:
特点是虚函数遇到同名的时候,回先访问虚函数然后访问同名函数,也就是分别。所以D.E没问题。
覆盖了