#include<iostream> #include<string> using namespace std; class A { public: virtual void vfunc1() { cout<< "A vfunc1"<< endl; } }; class B : public A { public: virtual void vfunc2() { cout<< "B vfunc2"<< endl; } }; class C : public B { public: virtual void vfunc2() { cout<< "C vfunc2" << endl; } }; int main() { A a; B b; C c; cout<< sizeof(a) << endl; cout<< sizeof(b)<< endl; cout<< sizeof(c)<< endl; }会输出什么
时间: 2023-08-20 19:52:55 浏览: 131
C++与操作系统等面试题94
这段代码的输出将是:
4
8
8
这是因为类A只有一个成员函数,所以它的大小是4个字节(在大多数平台上,指针的大小为4个字节)。类B和类C都继承了类A,并且在类B中添加了一个新的成员函数,所以类B的大小是8个字节。类C继承了类B,并且在类C中重写了类B中的成员函数,但是由于没有添加新的成员函数,所以类C的大小也是8个字节。
阅读全文