问题
问答题
return 0;
答案
参考答案:修改程序时可以去掉类对象定义时的const关键词。即:
int main ( )
{
MyClass obj (10);
obj.setX(20);
obj.print ();
return 0;
}
解析: 程序中出现了2个出错标识符,说明此程序有2处错误。
第1处错误:语句“obj.setX(20);”错误。因为类MyClass的对象obj被声明为常对象,因此,不允许修改常对象的成员变量。
第2处错误:语句“obj.print();”错误。因为类的对象被声明为常对象,因此,不是常成员函数就不能访问常对象的成员变量。虽然成员函数print()中没有修改类的对象,但是它存在修改类的成员变量的可能性。