可能的重复:
C++ 中的成员与方法参数访问
我有一个班级,有一些成员,比如x
, y
, width
and height
。在它的构造函数中,我不会这样做:
A::A(int x, int y, int width, int height)
{
x = x;
y = y;
width = width;
height = height;
}
当用 g++ 编译时,这并没有真正意义x
, y
, width
, and height
变成奇怪的值(例如-1405737648
).
解决这些命名冲突的最佳方法是什么?
您可以使用具有相同名称的初始化列表:
A::A(int x, int y, int width, int height) :
x(x),
y(y),
width(width),
height(height)
{
}
如果您不想使用相同的名称,另一种方法是使用不同的名称。我想到了一些匈牙利表示法的变体(我可能对此有些讨厌):
//data members
int x_;
int y_;
int width_;
int height_;
//constructor
A::A(int x, int y, int width, int height) :
x_(x),
y_(y),
width_(width),
height_(height)
{
}
但第一个建议并没有什么问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)