gpt4 book ai didi

c++ - 结构和类的嵌套

转载 作者:太空狗 更新时间:2023-10-29 23:37:59 26 4
gpt4 key购买 nike

#include<iostream>
using namespace std;
struct My_Class{
class My_struct{
int am_i_in_class_or_struct;
};
};

int main(){
cout<<sizeof(My_Class)<<endl;
cout<<sizeof(My_struct)<<endl;
cout<<sizeof(int);
}

请解释:当我在 Turbo C 上执行上面的程序时,我得到了输出:1个2个2个现在每种情况下的大小不应该相同,或者至少 My_Class 的大小应该与 My_struct 相同或更大!如果程序中有错误,请尽可能修复它们,否则请忽略它并专注于手头的问题!我不相信 Turbo C 本身......但目前我的 VS 2008 由于我的 Ram 变坏而不断崩溃!

最佳答案

My_Class 不包含 My_struct,它只是定义了它。如果您想从 My_Class 外部创建一个 My_struct 实例,它将被称为 My_Class::My_struct

为了在 My_Class 中实际包含一个 My_struct 实例,您应该这样做

struct My_Class{
class My_struct{
int am_i_in_class_or_struct;
};
My_struct myStructInstance;
};

关于c++ - 结构和类的嵌套,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3080298/

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