c++考试试题.docx
- 文档编号:10691162
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:12
- 大小:19.19KB
c++考试试题.docx
《c++考试试题.docx》由会员分享,可在线阅读,更多相关《c++考试试题.docx(12页珍藏版)》请在冰豆网上搜索。
c++考试试题
密
封
线
内
不
要
答
题
命题人:
张家喜
用卷班级:
考试时间:
120分钟
考场:
20-20年度第一学期期末考试
《面向对象程序设计》试卷(A)
班级:
学号:
姓名:
题号
一
二
三
四
五
总得分
复核人
得分
本大题得分
评阅人
一、
选择题(本大题共5小题,每小题2分,共10分)
1.引入类定义的关键字是A。
(A)Class(B)public(C)private(D)protecte
2.成员函数重载双目运算符时,A。
(A)左操作数是对象,右操作数是该函数的参数。
(B)左操作数是该函数的参数,右操作数是对象。
(C)左、右操作数都是该函数的参数。
(D)左、右操作数都是对象。
3.下列程序运行结果是B。
#include
classjk{inta;public:
jk(intaa){a=aa;cout<<"1";}
~jk(){cout<<"3";}
voidouta(){cout< voidmain(){jk*p=newjk (2);p->outa();deletep;} (A)321(B)123(C)213(D)312 4.下列程序运行结果是B。 #include classwg{doublem;staticdoublesm; public: wg(doublem0){m=m0;sm+=m0;} ~wg(){sm-=m;} staticvoiddisp(){cout< doublewg: : sm=0; voidmain(){wgx1(2.5),x2(4.5),x3(3.5),x4 (1);x3.~wg();x1.disp();} (A)7(B)8(C)9(D)10 5.下列程序运行结果是C。 #include classAAA{public: intx,y;AAA(intx1,intx2){x=x1;y=x2;}}; classBBB: publicAAA{public: char*p; BBB(intx1,intx2,char*s): AAA(x1,x2){p=s;}}; voidmain(){BBBb(2,2,"计科系"); AAAa(1,1),*pa=&a;cout< pa=&b;cout< (A)1212(B)2121(C)1122(D)2211 本大题得分 评阅人 二、填空题: (本大题共10小题,每小题2分,共20分)。 6.引用通常用作函数的 7.构造函数名同类名,构造函数无函数返回类型。 类中可以有多个构造函数,它们由区分。 如果类说明中没有给出构造函数,则C++编译器会 8.一个类有个析构函数。 时,系统会自动调用析构函数。 9.C++中多态性包括两种多态性: 。 前者是通过函数和运算符的重载实现的,而后者是通过类继承关系和来实现的。 10.在基类中将一个成员函数说明成虚函数后,在其派生类中只要 就认为是虚函数,而不必再加关键字除了非成员函数不能作为虚函数外,静态成员函数、内联函数和也不能作为虚函数。 11.#include #include classperson{charname[10];intage;char*sex; public: __(char*n,char*s,inta){strcpy(name,n);sex=s;age=a;} person(__){strcpy(name,s.name);sex=s.sex;age=s.age; cout<<"我是复制函数! \n";} __{cout<<"再见! \n";} voidprint(){cout< voidmain(){personw("123","456",789);personc(w);c.print();} 12.#include classjk{___: inta;charb; __: voidcinab(intaa,charbb){a=aa;b=bb;} voidoutab(){cout< voidmain(){jkx;x.cinab(3,’A’);x.outab();} 13.#include classjk{public: intsize;char*p; jk(ints){size=s;p="yes";} ostream&operator<<(ostream&,jk&);}; ostream&operator<<(ostream&os,jk&x){os< cout<<"你调用了自己编写的输出运算符<<重载函数! \n";returnos;} voidmain(){jkx(4);cout< 14.#include classcomplex{doublereal,imag; public: complex(doublea=0.0,doubleb=0.0){real=a;imag=b;} voiddisp(){cout<<'('< complexoperator+(complex&c){doublex=this->real+c.real; doubley=this->imag+c.imag; return}}; voidmain(){complexz1(1,1),z2(2,2),z3;z3=z1+z2;z3.disp();} 15.#include jkMax(jka,jkb){return(a>b)? a: b;} voidmain(){cout< cout< cout< 本大题得分 评阅人 三、指出下列每段程序中的错误且改正过来(每段程序中有且只有一处错误,不能增加或删去整条语句,本大题共5小题,每小题2分,共10分)。 16.#include classjk{inta,b,c; public: jk(intx1,intx2,intx3){a=x1;b=x2;c=x3;} ~jk(){}}; voidmain(){jkx(1,2);x.~jk();} 17.#include classAAA{public: inta; AAA(intx){a=x;}AAA(){}}; classBBB: publicAAA{public: intb; BBB(intx,inty): AAA(x){b=y;}BBB(){}}; voidmain() {AAAw(11),*p; BBBc(22,222); p=&w;cout< p=&c;cout< 18.#include #include classgirl{char*name; public: girl(char*n){name=newchar[strlen(n)+1];strcpy(name,n);} inlinevoiddisp(girlx);}; voiddisp(girls){cout< voidmain(){girlw("翠花");disp(w);} 19.#include #include classboy; classboy{char*name;intage; public: boy(char*n,inta){name=newchar[strlen(n)+1];strcpy(name,n);age=a;} voiddisp(girls);}; classgirl{char*name,*dial; public: girl(char*n,char*d){name=newchar[strlen(n)+1];strcpy(name,n); dial=newchar[strlen(d)+1];strcpy(dial,d);} friendvoidboy: : disp(girls);}; voidboy: : disp(girls){cout<<"boy的nameage为: "< cout<<"girl的namedial为: "< voidmain(){boyb("刘翔",18);girlg("小白菜","66778899");b.disp(g);} 20.#include #include classperson{charname[10];intage;char*sex; public: person(char*n,char*s,inta){strcpy(name,n);sex=s;age=a;} person(persons){strcpy(name,s.name);sex=s.sex;age=s.age;} ~person(){cout<<"再见! \n";} voidprint(){cout< voidmain(){personw("钻石王老五","男",38);personc(w);c.print();} 本大题得分 评阅人 四、写出下列各程序运行后的输出结果(本大题共7小题,每小题5分,共35分)。 21.#include 本题得分 classA{public: virtualvoidv1(){cout<<"1";a1();} voida1(){cout<<"3";v2();} virtualvoidv2(){cout<<"4";}}; classB: publicA{public: voida1(){cout<<"2";v2();} voidv2(){cout<<"5";}}; voidmain(){Bb;b.v1();} 135 22.#include 本题得分 classzh{public: zh(){cout<<"8";} ~zh(){cout<<"1";} virtualvoidf(){cout<<"0";}}; classzh1: publiczh{public: zh1(){cout<<"7";} ~zh1(){cout<<"2";} virtualvoidf(){cout<<"5";}}; classzh2: publiczh1{public: zh2(){cout<<"6";zh1: : f();} ~zh2(){cout<<"3";} virtualvoidf(){cout<<"4";}}; voidmain(){zh2x;x.f();} 23.#include classbase{public: inta1;base(intn1){a1=n1;}}; classA: virtualpublicbase{public: inta2;A(intn1,intn2): base(n1){a2=n2;}}; classB: virtualpublicbase{public: inta3;B(intn2,intn3): base(n2){a3=n3;}}; classC: publicA,publicB {public: inta4;C(intn1,intn2,intn3,intn4): A(n1,n2),B(n1,n3),base(n1){a4=n4;}}; voidmain(){Cx(4,3,2,1),*pc=&x;cout< B*pb=&x;cout< A*pa=&x;cout< base*p=&x;cout< 1234 24.#include 本题得分 classABC{public: intx; public: ABC(inti){x=i;} ABC(){} voidsum(){x=x*4;cout< classXYZ: publicABC{public: XYZ(inti): ABC(i){} voidg(){cout< friendvoidf(XYZ&e);}; voidf(XYZ&e){e.x=e.x*2-2;cout< voidmain(){XYZw (1);w.sum();w.g();f(w);} 4 8 6 25.#include classbase0{public: virtualvoidv(){cout<<"basen";}}; 本题得分 classbase1: publicbase0{public: voidv(){cout<<"base1";}}; classA1: publicbase1{public: voidv(){cout<<"A1";}}; 本题得分 classA2: publicA1{public: voidv(){cout<<"A2";}}; classB1: publicbase1{public: voidv(){cout<<"B1";}}; classB2: publicB1{public: voidv(){cout<<"B2";}}; voidmain(){ base1*pb; A1a1;pb=&a1;pb->v(); A2a2;pb=&a2;pb->v(); B1b1;pb=&b1;pb->v(); B2b2;pb=&b2;pb->v();} A1A2B1B2 本题得分 26.#include #include classjk{char*name; public: jk(char*p){name=newchar[strlen(p)+1];strcpy(name,p);cout<<"1\n";} ~jk(){cout<<"5\n";} voiddisp(){cout<<"";}}; classyes{jkstr;intage; public: yes(char*pp,inta): str(pp){age=a;cout<<"22\n";} ~yes(){cout<<"44\n";} voidprint(){str.disp();cout< 本题得分 voidmain(){yesw("期终考试",333);w.print();} 27.#include classstack{inta[10],top; public: stack(){top=-1;} voidpush(intdata){if((top>=-1)&&(top<9)){top++;a[top]=data;cout<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 考试 试题