【发布时间】:2014-08-01 16:36:09
【问题描述】:
在 C++ 中,我们可以在构造函数中使用赋值来初始化对象,也可以使用初始化列表。对于 const 数据成员或对象数据成员,初始化列表是唯一的方法。但是,当参数的名称与数据成员的名称匹配时,this->name(name) 不起作用。如果名称相同,有什么办法可以做到这一点?
class A {
private:
int _x,y;
public:
A(int x, int y) : _x(x), // this works
this->y(y) // this does not work
{}
};
我认为这可能是操作顺序问题所以我尝试了:
(this->y)(y)
但这也不对。
【问题讨论】:
-
为什么不重命名参数或成员?一个有
_而没有一个似乎很傻。 -
y(y)也可以。
标签: c++ initializer-list