欢迎来到天天文库
浏览记录
ID:38681539
大小:93.50 KB
页数:7页
时间:2019-06-17
《程序设计C++试题和答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、程序设计Ⅱ(C++语言)期中考试试题班级:_________学号:_________姓名:_________7一、简答题(每小题4分,共20分)1.在C++中声明类时,如何做到多个实例共享一个全局变量?2.引用和指针之间有什么区别?3.什么是抽象类?析构函数可以声时为虚函数吗?如果可以,在什么情况下使用?4.什么是多态性?多态性是如何实现的?5.构造函数与析构函数的功能是什么?在继承层次上,构造函数和析构函数的调用顺序如何?二、程序改错题(每小题5分,共20分)1.下面的程序是否有错误,如果有错,请说明原因并改正。#includeint*FuncOne(){
2、int*pint=newint(5);count<<"thevalueofpIntinFuncOneis:"<<*pint<3、){charszTest[]="hello";constchar*psz=szTest;psz[0]=‘b’;}4.下面的程序是否有错误,如果有错,请说明原因并改正。classShape(){public:Shape();virtual~Shape();virtualShape(constShape&);}三、程序阅读题(每小题5分,共20分)1.分析下面的程序,并写出运行结果。classA{public:virtualvoidfunc(){cout<<"Iaminbase"<4、t<<"Iaminderived"<func();A*aa=bb;aa->func();}以上程序的输出结果是。2.分析下面的程序,并写出运行结果。classSample{public:intv;Sample(){};Sample(intn):v(n){};Sample(Sample&x){v=2+x.v;}};SamplePrintAndDouble(Sampleo){cout<5、.v<6、B(intn){nBVal=n;}voidPrint(){cout<<"nBVal="<Print();Dd(4);d.Print();B*p=&d;p->Print();deletepb;}以上程序的输出结果是。四、程序填空题(每小题10分,共20分)1.填空使程序能编译7、通过,并写出运行的输出结果。classMyString{private:char*p;public:MyString(char*s){p=newchar[strlen(s)+1];strcpy(p,s);}MyString(MyString&o){strcpy(p,o.p);}~MyString(){delete[]p;}voidCopy(char*s){p=newchar[strlen(s)+1];strcpy(p,s);}constchar*c_str(){}};
3、){charszTest[]="hello";constchar*psz=szTest;psz[0]=‘b’;}4.下面的程序是否有错误,如果有错,请说明原因并改正。classShape(){public:Shape();virtual~Shape();virtualShape(constShape&);}三、程序阅读题(每小题5分,共20分)1.分析下面的程序,并写出运行结果。classA{public:virtualvoidfunc(){cout<<"Iaminbase"<4、t<<"Iaminderived"<func();A*aa=bb;aa->func();}以上程序的输出结果是。2.分析下面的程序,并写出运行结果。classSample{public:intv;Sample(){};Sample(intn):v(n){};Sample(Sample&x){v=2+x.v;}};SamplePrintAndDouble(Sampleo){cout<5、.v<6、B(intn){nBVal=n;}voidPrint(){cout<<"nBVal="<Print();Dd(4);d.Print();B*p=&d;p->Print();deletepb;}以上程序的输出结果是。四、程序填空题(每小题10分,共20分)1.填空使程序能编译7、通过,并写出运行的输出结果。classMyString{private:char*p;public:MyString(char*s){p=newchar[strlen(s)+1];strcpy(p,s);}MyString(MyString&o){strcpy(p,o.p);}~MyString(){delete[]p;}voidCopy(char*s){p=newchar[strlen(s)+1];strcpy(p,s);}constchar*c_str(){}};
4、t<<"Iaminderived"<func();A*aa=bb;aa->func();}以上程序的输出结果是。2.分析下面的程序,并写出运行结果。classSample{public:intv;Sample(){};Sample(intn):v(n){};Sample(Sample&x){v=2+x.v;}};SamplePrintAndDouble(Sampleo){cout<5、.v<6、B(intn){nBVal=n;}voidPrint(){cout<<"nBVal="<Print();Dd(4);d.Print();B*p=&d;p->Print();deletepb;}以上程序的输出结果是。四、程序填空题(每小题10分,共20分)1.填空使程序能编译7、通过,并写出运行的输出结果。classMyString{private:char*p;public:MyString(char*s){p=newchar[strlen(s)+1];strcpy(p,s);}MyString(MyString&o){strcpy(p,o.p);}~MyString(){delete[]p;}voidCopy(char*s){p=newchar[strlen(s)+1];strcpy(p,s);}constchar*c_str(){}};
5、.v<6、B(intn){nBVal=n;}voidPrint(){cout<<"nBVal="<Print();Dd(4);d.Print();B*p=&d;p->Print();deletepb;}以上程序的输出结果是。四、程序填空题(每小题10分,共20分)1.填空使程序能编译7、通过,并写出运行的输出结果。classMyString{private:char*p;public:MyString(char*s){p=newchar[strlen(s)+1];strcpy(p,s);}MyString(MyString&o){strcpy(p,o.p);}~MyString(){delete[]p;}voidCopy(char*s){p=newchar[strlen(s)+1];strcpy(p,s);}constchar*c_str(){}};
6、B(intn){nBVal=n;}voidPrint(){cout<<"nBVal="<Print();Dd(4);d.Print();B*p=&d;p->Print();deletepb;}以上程序的输出结果是。四、程序填空题(每小题10分,共20分)1.填空使程序能编译
7、通过,并写出运行的输出结果。classMyString{private:char*p;public:MyString(char*s){p=newchar[strlen(s)+1];strcpy(p,s);}MyString(MyString&o){strcpy(p,o.p);}~MyString(){delete[]p;}voidCopy(char*s){p=newchar[strlen(s)+1];strcpy(p,s);}constchar*c_str(){}};
此文档下载收益归作者所有