7. 对于常成员函数,下面描述正确的是_____ ____。 A.类的成员函数可以操作常对象 B.类的成员函数不能操作常
7.对于常成员函数,下面描述正确的是_________。A.类的成员函数可以操作常对象B.类的成员函数不能操作常对象C.只有常成员函数可以操作常对象D.在常成员函数中,常...
7. 对于常成员函数,下面描述正确的是_____ ____。
A.类的成员函数可以操作常对象 B.类的成员函数不能操作常对象
C.只有常成员函数可以操作常对象 D.在常成员函数中,常对象可以被更新
这题选择什么答案 展开
A.类的成员函数可以操作常对象 B.类的成员函数不能操作常对象
C.只有常成员函数可以操作常对象 D.在常成员函数中,常对象可以被更新
这题选择什么答案 展开
2个回答
展开全部
我来告诉你吧,其实题描述可能有一些不太当清楚。但是考点你要清楚。
常成员函数:就是承诺不会改变成员函数的值的函数。因此,类的一般成员函数(没有声明为const的函数)一般来说都会尝试对类的成员进行赋值操作。因此,这样类的成员函数,非const时,不应该能够访问类的const对象,这里你应该明白什么是类的const对象:
class A{
public:
int i;
};
const A acls;
这里的acls就是一个类的常对象,因此既然声明为了常对象,因此其值应该都不能被改变,所以 ,A答案都是错的,为什么B也是错的,因为对于类的常成员函数不会修改类的成员变量的值,因此常成员函数是可以操作类常对象的。B错。
D是显然错的了,理由同上。
正确答案为C,如前面所说,常成员函数可以操作常对象,是因为其不会改变成员变量的值,因此不管是否为常对象,其都可以进行操作。
常成员函数:就是承诺不会改变成员函数的值的函数。因此,类的一般成员函数(没有声明为const的函数)一般来说都会尝试对类的成员进行赋值操作。因此,这样类的成员函数,非const时,不应该能够访问类的const对象,这里你应该明白什么是类的const对象:
class A{
public:
int i;
};
const A acls;
这里的acls就是一个类的常对象,因此既然声明为了常对象,因此其值应该都不能被改变,所以 ,A答案都是错的,为什么B也是错的,因为对于类的常成员函数不会修改类的成员变量的值,因此常成员函数是可以操作类常对象的。B错。
D是显然错的了,理由同上。
正确答案为C,如前面所说,常成员函数可以操作常对象,是因为其不会改变成员变量的值,因此不管是否为常对象,其都可以进行操作。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询