3.2 例题分析
3.2.1 单项选择题
【例3.1】 是给对象取一个别名,它引入了对象的同义词。
A. 指针 B. 引用 C. 枚举 D. 结构
解:引用是个别名,并不是一个普通的变量。本题答案为B。
【例3.2】已知int m=10;,下列表示引用的方法中, 是正确的。
A. int &x=m; B. int &y=10;
C. int &z; D. float &t=&m;
解:引用必须用另一个变量或对象进行初始化(C错),但不能用变量的地址初始化(D错),不能引用常量(B错)。本题答案为A。
【例3.3】已知类A中一个成员函数的说明是void Set(A &a);,那么其中A &a的含义是 。
A. 指向类A的指针a
B. 将a的地址赋给变量Set
C. a是类A对象的引用,用来作为函数Set()的形参
D. 变量A与a按位逻辑与,用来作为函数Set()的参数
解:a是一个形参,其类型为类A的引用,所以A &a的含义是a是类A对象的引用,用来作函数Set()的形参。本题答案为C。
【例3.4】下列引用的定义中, 是错误的。
A. int i; int &j=i;
B. int i; int &j; j=i;
C. float i; float &j=i;
D. char d; char &k=d;
解:引用必须用另一个变量或对象进行初始化。本题答案为B。
【例3.5】若有:
- int i;
- int &j=i;
- i=5;
- j=i+1;
则i= ,j= 。
解:j是整型变量i的引用,两者同步操作。本题答案为6,6。