C ++在构造函数中初始化了未命名的struct成员

时间:2015-11-05 07:10:12

标签: c++ struct constructor

示例:

class A 
{
public:
    A();
private:
    struct {int x, y; } position_;
};

我的问题是:如何在构造函数体之前初始化position_.xposition_.y?像:

A::A()     //init position_.x and position_.y here
{
}

2 个答案:

答案 0 :(得分:2)

只需使用普通的构造函数初始化列表:

A::A()
    : position_{0, 0}
{
}

答案 1 :(得分:1)

您可以像构造函数初始化列表中的任何数据成员 1 一样初始化它:

A() : position_{1,2} {}    

在声明点:

struct {int x, y;} position_{1, 2};

或两者兼而有之。

1假设你有C ++ 11或更高版本