我有这堂课:
class Foo {
private:
...
public:
Foo() : ... {}
// no other constructors
...
};
和另一个通过引用持有Foo成员:
class Bar {
private:
const Foo& m_foo;
...
public:
Bar(const Foo& foo);
// no other constructors
};
我的问题是:如何在构造函数中初始化Bar :: m_foo引用?
谢谢!
答案 0 :(得分:6)
在构造函数初始化列表中:
Bar(const Foo& foo) : m_foo(foo)
{
}
const
和参考成员必须在初始化列表中初始化,在这种情况下,成员都是。
答案 1 :(得分:3)
使用初始化列表:
Bar(const Foo& foo):m_foo(foo){}