Я не берусь за вывод, показанный ниже.
Я знаю, что всякий раз, когда присутствует виртуальная функция, она создает vptr
, но все же напечатанный размер больше, чем я ожидал:
#include<iostream>
using namespace std;
class Base
{
int x;
int y;
int z;
public:
virtual void fun(){}
virtual void fun2(){}
};
class Derived:public Base
{
public:
void fun() override {}
};
int main(int argc, char const *argv[])
{
cout<<sizeof(Base)<<endl;
cout<<sizeof(Derived)<<endl;
cout<<sizeof(int)<<endl;
}
24
24
4
[Закончено за 0,3 с]