gpt4 book ai didi

c++ - 一个非常简单的c++ oop问题

转载 作者:太空宇宙 更新时间:2023-11-04 15:54:34 28 4
gpt4 key购买 nike

我在这里纠结于语法:希望这个问题很简单,我只是在混淆重点。

具体来说,如果我将一个类嵌套在另一个类中,例如

class a
{
a //the constructor
{
b an_instance_of_b // an instance of class b
}
};

class b
{
public:
foo()
{
cout << "foo";
}
};

当我尝试通过这样做在 B 中访问此方法时:

a an_instance_of_a; //declare an instance of a
an_instance_of_a.an_instance_of_b.foo()

^^ 这似乎不起作用。这是简化的(所以这里可能是某个地方的错字)。但我知道这些类设置得很好,只是如果它们是嵌套的,我就无法访问它们内部的方法。我可能做错了什么?

非常感谢。

最佳答案

你的 <code>an_instance_of_b</code>不是 a 的成员,而是 a 的构造函数中的局部变量(并且构造函数声明缺少括号)。

这里会发生的是,当您创建 a 的实例时,它会创建并立即销毁 b 的实例,然后它离开 a 的构造函数并创建 a 实例。

关于c++ - 一个非常简单的c++ oop问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1684638/

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