2

可能重复:
如何在构造函数中初始化 const 字段?

我有这堂课:

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 引用?

谢谢!

4

2 回答 2

6

在构造函数初始化列表中:

Bar(const Foo& foo) : m_foo(foo)
{
}

const并且引用成员必须在初始化列表中进行初始化,在这种情况下,成员是两者。

于 2012-11-06T12:57:13.433 回答
3

使用初始化列表:

Bar(const Foo& foo):m_foo(foo){}
于 2012-11-06T12:57:28.127 回答