gpt4 book ai didi

c++ - 如何创建在封闭类之外定义的嵌套类的实例?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:52:02 24 4
gpt4 key购买 nike

如果我定义了一个嵌套类,然后像这样创建一个实例:

class A  
{
class B
{
...
};
B b;
};

一切正常。但是如果我只是在A内部声明B并在外部定义它,我不能创建B的实例,可能是因为编译器不知道B的实例需要多少空间。但是,当您在另一个类中定义一个类时,代码可读性不高。有什么办法可以做到这一点吗?

class A  
{
class B;
B b;
};
class A::B
{
...
};

最佳答案

很简单,定义类B,然后在A中定义它的一个实例即可。

class B
{
}
class A
{
B memberB;
}

或者你可以转发声明它:

class B;
class A
{
B memberB;
}
class B
{
}

很少需要真正嵌套的类,而且根本用处不大。

关于c++ - 如何创建在封闭类之外定义的嵌套类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14677602/

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