C 习题与解析(类和对象-02)

文章作者 100test 发表时间 2007:03:10 17:00:10
来源 100Test.Com百考试题网


题 1.5 分析以下程序的执行结果
#include
class Sample
{
public:
int x.
int y.
void disp()
{
cout<<"x="<}
}.

void main()
{
int Sample::*pc.
Sample s.
pc=&.Sample::x.
s.*pc=10.
pc=&.Sample::y.
s.*pc=20.
s.disp().
}

解:本题说明了类数据成员指针的使用方法。在main()中定义的pc是一个指向Sample类数据成员的指针。执行pc=&.Sample::x时,pc指向数据成员x,语句s.*pc=10等价于s.x=10(为了保证该语句正确执行,Sample类中的x必须是公共成员);执行pc=&.Sample::y时,pc指向数据成员y,语句s.*pc=20等价于s.y=20(同样,Sample类中的y必须是公共成员)。所以输出为: x=10,y=20。



相关文章


2006年9月二级C语言考试超级模拟试题4答案
C 习题与解析(类和对象-04)
C 习题与解析(类和对象-02)
2006年9月二级C语言考试超级模拟试题5答案
函数名称FileOpen
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛