C 习题与解析(引用-01)

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


01.分析以下程序的执行结果
#include
void main()
{
int a.
int &.b=a. // 变量引用
b=10.
cout<<"a="<}
解:
本题说明变量引用的方法。b是a的引用,它们分配相同的空间,b的值即为a的值。
所以输出为 a=10。

注意:引用是引入了变量或对明的一个 义词,引用不产生对象的副本。

02.分析以下程序的执行结果
#include
class Sample
{
int x.
public:
Sample(){}.
Sample(int a){x=a.}
Sample(Sample &.a){x=a.x 1.}
void disp(){cout<<"x="<}.
void main()
{
Sample s1(2),s2(s1).
s2.disp().
}
解:
本题说明类拷贝构造函数的使用方法。Sample类的Sample(Sample &.a)构造函数是一个拷贝构造函数,将a对象的x值赋给当前对象的x后加1。
所以输出为:x=3。

03.编写程序,调用传递引用的参数,实现两个字符串变量的交换。
例如开始:
char *ap="hello".
char *bp="how are you?".
交换的结果使得ap和bp指向的内容分别为:
ap: "how are you?"
bp: "hello"
解:
本题使用引用调用(实现由于字符串指针本身就是地址,这里可不使用引用参数,效果是一样的)。
程序如下:
#include
#include
void swap(char *&.x,char *&.y) // 引用作为参数
{
char *temp.
temp=x.x=y.y=temp.
}
void main()
{
char *ap="hello".
char *bp="how are you?".
cout<<"ap:"<cout<<"bp:"<swap(ap,bp).
cout<<"swap ap,bp"<cout<<"ap:"<cout<<"bp:"<}
本程序的执行结果如下:
ap:hello
bp:hoe are you?
swap ap,bp
ap:how are you?
bp:hello



相关文章


[二级C试题天天练]C语言考试试题7
[二级C试题天天练]C语言考试试题6
C 习题与解析(引用-01)
[二级C试题天天练]C语言考试试题4
C 习题与解析(类和对象-09)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛