我确信这个问题以前被问过。但我似乎无法找到我正在寻找的确切答案。基本上我试图创建一个类的对象作为另一个类的成员,并通过构造函数引用拥有的对象来传递其中一个成员。有时这似乎有效,有时我得到一个随机值。
我认为我不了解初始化顺序的一些基本规则
这是代码示例:
class Foo
{
public:
Foo();
private:
int b;
Bar c;
};
class Bar
{
public:
Bar(int& parm);
private:
int& b_ref;
};
Foo::Foo(): b(0), c(b)
{}
Bar::Bar(int& parm): b_ref(parm)
{}
我想要的是 c 拥有对 b 的引用,并且能够在值发生变化时看到它。
在这种情况下我不应该使用初始化列表吗?