最赞回答 / 石点点头
常数据成员或者常对象成员是只读属性,printInfo()和printInfo() const互为重载函数,但是前者形参需要读写属性,只能使用普通数据成员,因为后者形参为const *this,与常对象成员实参const是一致的。printInfo() const可以使用普通数据成员,只是不能修改对象成员的值。
2017-10-14
class Coordinate
{
public:
Coordinate()
{
}
void printInfo()
{
cout<<"("<<m_iX<<","<<m_iY<<")"<<endl;
}
public:
int m_iX;
int m_iY;
};
int main(void)
{
Coordinate coorArr[2]={Coordinate(),Coordinate()};
for(int i = 0; i < 2; i++)
{
coorArr[i].printInfo();
}
return 0;
}
{
public:
Coordinate()
{
}
void printInfo()
{
cout<<"("<<m_iX<<","<<m_iY<<")"<<endl;
}
public:
int m_iX;
int m_iY;
};
int main(void)
{
Coordinate coorArr[2]={Coordinate(),Coordinate()};
for(int i = 0; i < 2; i++)
{
coorArr[i].printInfo();
}
return 0;
}