欢迎来到天天文库
浏览记录
ID:18789334
大小:51.50 KB
页数:15页
时间:2018-09-24
《c++习题与解析-引用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、01.分析以下程序的执行结果#includevoidmain(){inta;int&b=a;//变量引用b=10;cout<<"a="<2、classSample{intx;public:Sample(){};Sample(inta){x=a;}Sample(Sample&a){x=a.x+1;}voiddisp(){cout<<"x="<3、-----------------------------------------------03.编写程序,调用传递引用的参数,实现两个字符串变量的交换。例如开始:char*ap="hello";char*bp="howareyou?";交换的结果使得ap和bp指向的内容分别为:ap:"howareyou?"bp:"hello"解:本题使用引用调用(实现由于字符串指针本身就是地址,这里可不使用引用参数,效果是一样的)。程序如下:#include#includevoi4、dswap(char*&x,char*&y)//引用作为参数{char*temp;temp=x;x=y;y=temp;}voidmain(){char*ap="hello";char*bp="howareyou?";cout<<"ap:"<5、areyou?swapap,bpap:howareyou?bp:hello-----------------------------------------------------04.设计一个集合类Set,包括将集合置空、添加元素、判断元素是否在集合中、输出集合,以及将集合中元素逆置,另外还有一个拷贝构造函数,并使用一些数据进行测试。解:Set类包括私有数据成员elems(存放集合元素)、pc(当前元素指针),一个默认构造函数和拷贝构造函数Set(Set&s),另有成员函数empty()(将集合置空)、ise6、mpty()(判断集合是否为空)、ismemberof()(判断元素是否在集合中)、add()(添加元素)、print()(输出集合)、reverse(将集合中元素置逆)。本题程序如下:#include#defineMax100classSet{public:Set(){pc=0;}Set(Set&s);//对象引用作为参数voidempty(){pc=0;}intisempty(){returnpc==0;}intismemberof(intn);intadd(intn);voidpr7、int();voidreverse();private:intelems[Max];intpc;};intSet::ismemberof(intn){for(inti=0;iMax)return0;else{elems[pc++]=n;return1;}}Set::Set(Set&p){pc=p.pc;for(inti=0;i<8、pc;i++)elems[i]=p.elems[i];}voidSet::print(){cout<<"{";for(inti=0;i0)cout<
2、classSample{intx;public:Sample(){};Sample(inta){x=a;}Sample(Sample&a){x=a.x+1;}voiddisp(){cout<<"x="<3、-----------------------------------------------03.编写程序,调用传递引用的参数,实现两个字符串变量的交换。例如开始:char*ap="hello";char*bp="howareyou?";交换的结果使得ap和bp指向的内容分别为:ap:"howareyou?"bp:"hello"解:本题使用引用调用(实现由于字符串指针本身就是地址,这里可不使用引用参数,效果是一样的)。程序如下:#include#includevoi4、dswap(char*&x,char*&y)//引用作为参数{char*temp;temp=x;x=y;y=temp;}voidmain(){char*ap="hello";char*bp="howareyou?";cout<<"ap:"<5、areyou?swapap,bpap:howareyou?bp:hello-----------------------------------------------------04.设计一个集合类Set,包括将集合置空、添加元素、判断元素是否在集合中、输出集合,以及将集合中元素逆置,另外还有一个拷贝构造函数,并使用一些数据进行测试。解:Set类包括私有数据成员elems(存放集合元素)、pc(当前元素指针),一个默认构造函数和拷贝构造函数Set(Set&s),另有成员函数empty()(将集合置空)、ise6、mpty()(判断集合是否为空)、ismemberof()(判断元素是否在集合中)、add()(添加元素)、print()(输出集合)、reverse(将集合中元素置逆)。本题程序如下:#include#defineMax100classSet{public:Set(){pc=0;}Set(Set&s);//对象引用作为参数voidempty(){pc=0;}intisempty(){returnpc==0;}intismemberof(intn);intadd(intn);voidpr7、int();voidreverse();private:intelems[Max];intpc;};intSet::ismemberof(intn){for(inti=0;iMax)return0;else{elems[pc++]=n;return1;}}Set::Set(Set&p){pc=p.pc;for(inti=0;i<8、pc;i++)elems[i]=p.elems[i];}voidSet::print(){cout<<"{";for(inti=0;i0)cout<
3、-----------------------------------------------03.编写程序,调用传递引用的参数,实现两个字符串变量的交换。例如开始:char*ap="hello";char*bp="howareyou?";交换的结果使得ap和bp指向的内容分别为:ap:"howareyou?"bp:"hello"解:本题使用引用调用(实现由于字符串指针本身就是地址,这里可不使用引用参数,效果是一样的)。程序如下:#include#includevoi
4、dswap(char*&x,char*&y)//引用作为参数{char*temp;temp=x;x=y;y=temp;}voidmain(){char*ap="hello";char*bp="howareyou?";cout<<"ap:"<5、areyou?swapap,bpap:howareyou?bp:hello-----------------------------------------------------04.设计一个集合类Set,包括将集合置空、添加元素、判断元素是否在集合中、输出集合,以及将集合中元素逆置,另外还有一个拷贝构造函数,并使用一些数据进行测试。解:Set类包括私有数据成员elems(存放集合元素)、pc(当前元素指针),一个默认构造函数和拷贝构造函数Set(Set&s),另有成员函数empty()(将集合置空)、ise6、mpty()(判断集合是否为空)、ismemberof()(判断元素是否在集合中)、add()(添加元素)、print()(输出集合)、reverse(将集合中元素置逆)。本题程序如下:#include#defineMax100classSet{public:Set(){pc=0;}Set(Set&s);//对象引用作为参数voidempty(){pc=0;}intisempty(){returnpc==0;}intismemberof(intn);intadd(intn);voidpr7、int();voidreverse();private:intelems[Max];intpc;};intSet::ismemberof(intn){for(inti=0;iMax)return0;else{elems[pc++]=n;return1;}}Set::Set(Set&p){pc=p.pc;for(inti=0;i<8、pc;i++)elems[i]=p.elems[i];}voidSet::print(){cout<<"{";for(inti=0;i0)cout<
5、areyou?swapap,bpap:howareyou?bp:hello-----------------------------------------------------04.设计一个集合类Set,包括将集合置空、添加元素、判断元素是否在集合中、输出集合,以及将集合中元素逆置,另外还有一个拷贝构造函数,并使用一些数据进行测试。解:Set类包括私有数据成员elems(存放集合元素)、pc(当前元素指针),一个默认构造函数和拷贝构造函数Set(Set&s),另有成员函数empty()(将集合置空)、ise
6、mpty()(判断集合是否为空)、ismemberof()(判断元素是否在集合中)、add()(添加元素)、print()(输出集合)、reverse(将集合中元素置逆)。本题程序如下:#include#defineMax100classSet{public:Set(){pc=0;}Set(Set&s);//对象引用作为参数voidempty(){pc=0;}intisempty(){returnpc==0;}intismemberof(intn);intadd(intn);voidpr
7、int();voidreverse();private:intelems[Max];intpc;};intSet::ismemberof(intn){for(inti=0;iMax)return0;else{elems[pc++]=n;return1;}}Set::Set(Set&p){pc=p.pc;for(inti=0;i<
8、pc;i++)elems[i]=p.elems[i];}voidSet::print(){cout<<"{";for(inti=0;i0)cout<
此文档下载收益归作者所有