c++问题求解答第八题怎么做,可以解释一下吗?谢谢!!!

如题所述

常对象指针的定义是 const className *variable;

所以 D 答案是正确的。

以上常对象的指针表示的是 variable 是一个指针变量,它指向的是一个常对象的地址,通过常指针或常对象只能调用该类的常成员函数(当然也包括常成员变量、静态成员),表示通过一个常指针不能修改该对象的内容。

所以 C 答案错误的。

A 答案是正确的,例如有一个常对象:const className a; 则 className* p = &a 是错误的,在编译期就会报错,因为这种定义表示后续可以通过 p 指针调用对象 a 的成员函数来修改对象的内容。

B 答案是正确的,如:

className a;
const className *p = &a;

这表示通过 p 指针无法调用 className 类的普通成员函数,所以无法修改对象 a 的内容


最终结果选 C

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-01
A追问

为什么?

追答

在干嘛,,,,,

这题目我没见过 我猜的应该是吧!

相似回答