gpt4 book ai didi

c++ - 类中类的大小

转载 作者:行者123 更新时间:2023-11-27 23:45:26 25 4
gpt4 key购买 nike

为什么 A 类对象的 the 是 4 个字节(不考虑 B 类和 C 类)。

我如何创建对象 A 以便同时创建 B 和 C?

然后对象的大小会改变吗?如果否,那么对象 B 和 C 是否仍被视为对象 A 本身的一部分

class A
{
public:
A()
{
a=9;
//B objB; //you wont be able to call since A::B::B() is private
//C objC; //same as above
}
int a;
class B
{
B()
{
b=10;
}
int b;
};

class C
{
public:
int c,d,e,f,g;
};
};

最佳答案

因为,在类 A 中,只有 int a; 是类范围内的成员变量,它被计为类的大小。

在创建对象之前,类本身不占用任何空间。您已经使用以下代码创建了对象,但是如果您将类 B 和 C 的构造函数设为公共(public)构造函数并将其添加到 A 的构造函数中,则代码将不会执行,因为 B 的构造函数是私有(private)的:

B objB; 
C objC;

在构造函数中是局部的,在构造函数执行完毕后释放。

关于c++ - 类中类的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51076074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com