常对象除了可以调用静态成员函数外,还可以调用常成员函数。这句话是否正确,在试卷答案就是这样说的。
1个回答
展开全部
使用const关键字修饰的对象称为常对象,它的特点是不能被更新;使用const关键字声明的成员函数称为常成员函数,它的特点也是不能更新对象的数据成员。因为其他成员函数没有这个限制,即可以更新对象的数据成员,所以通过常对象只能调用常成员函数而不能调用其他成员函数,而且常成员函数也只能调用常成员函数而不能调用其他成员函数。
追问
在《C++程序设计》中写到,如果一个对象被声明为常对象,则通过该对象只能调用它的常成员函数,而不能调用该对象的普通成员函数。常成员函数是常对象唯一的对外接口。
而在某年的等级考试中,常对象除了可以调用静态成员函数外,还可以调用常成员函数。
故疑问是,两句话是否冲突。
或者书中写得并不完全,我的理解是:常对象能调用(该对象的)常成员函数,以及能调用(类的)静态成员函数。请指点一下,万分感谢。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询