#include <iostream> using namespace std; class A { int v1,v2; }; class B:public A { int v3; }; void main() { A x; B y; cout<<sizeof(x)<<endl; cout<<sizeof(y)<<endl; } 分析输出值的原理:
时间: 2024-03-18 12:41:03 浏览: 21
#include <iostream>
这段代码的输出结果是:
```
sizeof(x) = 8
sizeof(y) = 12
```
原因是类B是通过公有继承方式继承类A的,因此类B中包含了类A的所有成员变量,加上自己的成员变量v3,所以类B的大小为12字节。而类A只包含两个成员变量v1和v2,因此其大小为8字节。在32位系统中,一个int变量占用4字节,因此类A的大小为8字节,是由两个int变量组成的。而类B包含三个int变量,因此其大小为12字节。
阅读全文