首页 > 试题广场 >

下面代码打印结果为()class Base {&nbs...

[单选题]
下面代码打印结果为()
class Base {
char data[3];
public:
virtual void f() { cout << "Base::f" << endl; }
virtual void g() { cout << "Base::g" << endl; }
virtual void h() { cout << "Base::h" << endl; }

};
int main()
{
cout << sizeof(Base)<< endl;
return 0;
}
  • 6
  • 7
  • 8
  • 9
若类中包含虚函数,则无论有几个虚函数,sizeof类都等于sizeof(数据成员)的和+sizeof(虚函数指针,为4)。data[3]为长度为3的字符数组,对齐后为4;虚函数指针(无论几个),为4;sizeof(class)=4+4=8
发表于 2019-09-06 08:36:46 回复(0)
虚函数无论多少个都为4,char数组内存自动补齐为4
发表于 2019-09-11 08:45:08 回复(0)