练习题.docx
- 文档编号:11901420
- 上传时间:2023-04-08
- 格式:DOCX
- 页数:27
- 大小:25.76KB
练习题.docx
《练习题.docx》由会员分享,可在线阅读,更多相关《练习题.docx(27页珍藏版)》请在冰豆网上搜索。
练习题
(15)下面关于继承的描述错误是(a)。
(A)C++允许一个类拥有两个基类。
(B)基类的私有成员在派生类中是不可访问的。
/
(C)在公有派生中,基类的公有成员在派生类中仍然是公有的。
/
(D)在公有派生中,派生类无法使用基类的保护数据成员。
/
c(16)下面四个选项中,(c)是用来定义模板的。
(A)int(B)min(C)template(D)static
(17)下面关于构造函数描述错误的是(a)。
(A)构造函数必须声明返回类型。
(B)使用new运算符建立对象,该类的构造函数会被执行。
(C)构造函数的函数名称和类名一样。
(D)一个类可以定义若干个构造函数。
a(18)下面各项用于声明内联函数的是(a)。
(A)inline(B)online(C)line(D)static
a(19)C++程序中定义类使用的关键字是(a)。
(A)class(B)interface(C)test(D)friend
(20)下面关于函数重载正确的描述是(a)。
(A)重载函数的参数情况不能完全相同。
(B)重载函数的返回类型一定不同。
(C)重载函数的行数一定不能相同。
(D)重载的函数名称不能相同。
(21)C++程序中的每条语句以__;_______________结束。
(22)算术表达式
对应的C++表达式是__________。
(23)存在如下语句:
inta=5,b;b=a%2;
那么b的计算结果是___1_____________。
(24)运算符重载函数一般可以采用两种形式:
定义为类的成员函数和_____类的友元函数_____形式。
(25)增量表达式++y表示成赋值表达式是y=y+1。
(26)包含有纯虚函数的类被称为______抽象____类。
(27)表达式cout<<'\n'还可以表示为___cout< (28)存在下面程序: intx=56; int&a=x; x=88; cout< 输出结果是________________。 (29)C++是一种面向__对象________的程序设计语言。 (30)C++存在三种继承方式: 公有继承、私有继承和______保护继承_________。 (31)分析循环结构,写出程序的输出结果。 #include voidmain() { ints=0; for(inti=1;i<6;i++) s+=i*i; cout<<"s="< } (32)根据条件判断语句,写出程序执行之后的输出结果。 #include voidmain() { ints=0; for(inti=1;;i++) { if(s>50)break; if(i%3==0)s+=i; } cout<<"i,s="< } (33)写出程序执行之后的输出结果。 #include intadd(intx,inty){returnx+y;} intadd(intx,inty,intz){returnx+y+z;} voidmain() { inta=4,b=6,c=10; cout< } (34)下面的程序重载了运算符-和+。 operator-和operator+两个友元函数实现两个对象的减法和加法。 写出该程序的运行输出结果。 #include classSample { intn; public: Sample(){} Sample(inti){n=i;} friendSampleoperator-(Sample&,Sample&); friendSampleoperator+(Sample&,Sample&); voiddisp(){cout<<"n="< }; Sampleoperator-(Sample&s1,Sample&s2) { intm=s1.n-s2.n; returnSample(m); } Sampleoperator+(Sample&s1,Sample&s2) { intm=s1.n+s2.n; returnSample(m); } voidmain() { Samples1(10),s2(20),s3; s3=s2-s1; s3.disp(); s3=s2+s1; s3.disp(); } (35)写出该程序的运行输出结果。 #include classPoint { public: virtualvoidshow(){cout<<"Point"< }; classCircle: publicPoint { public: voidshow(){cout<<"Circle"< }; voidmain() { Circlec; Point*p=&c; p->show(); } (15)下面关于继承的描述错误是()。 (A)C++允许一个类拥有两个基类。 (B)基类的私有成员在派生类中是不可访问的。 (C)在公有派生中,基类的公有成员在派生类中仍然是公有的。 (D)在公有派生中,派生类无法使用基类的保护数据成员。 (16)下面四个选项中,()是用来定义模板的。 (A)int(B)min(C)template(D)static (17)假定AB为一个类,则执行“ABa (2),b[3];”语句时共调用该类构造函数的次数为()。 (A)2(B)3(C)4(D)5 (18)下面各项用于声明内联函数的是(a)。 (A)inline(B)online(C)line(D)static (19)C++程序中定义类使用的关键字是(a)。 (A)class(B)interface(C)test(D)friend (20)如果没有为一个类定义任何构造函数的情况下,下列描述正确的是()。 (A)编译器总是自动创建一个不带参数的构造函数。 (B)这个类没有构造函数。 (C)这个类不需要构造函数。 (D)该类不能通过编译。 (21)公有继承的特点是基类的公有成员、私有成员和保护成员作为派生类的成员时,它们都保持原有的状态。 (22)算术表达式 对应的C++表达式是__________。 (23)存在如下语句: inta=5,b=6,c;c=(a>b)? a: b; 那么c的计算结果是________________。 (24)类A有如下成员函数 intA: : fun(doublex){return(int)x/2;} intA: : fun(intx){returnx*2;} 设a为类A的对象,在主函数中有ints=a.fun(6.0)+a.fun (2),则执行该语句后,s的值为________。 (25)增量表达式a--表示成赋值表达式是。 (26)声明公有方法使用_____public_______关键字。 (27)重载“+”操作符时,重载的函数名称应该是__________。 (28)存在下面程序: inta=2; int&b=a; b=8; cout< 输出结果是______2__________。 (29)若intx=2;int*p=&x;则____________与x的值是等价的。 (30)至少包含一个纯虚函数的类称为_______________类。 (31)分析循环结构,写出程序的输出结果。 #include voiddisplay(intn) { cout< } voiddisplay(doublen) { cout< } voiddisplay(char*n) { cout< } voidmain() { display(100); display(56.44); display("hello"); } (32)根据条件判断语句,写出程序执行之后的输出结果。 #include #include classPoint { private: intx,y; public: Point(intxx,intyy){x=xx;y=yy;} voidGetxy(); friendintDistance(Point&a,Point&b); }; voidPoint: : Getxy(){cout<<"("< intDistance(Point&a,Point&b) { intdx=a.x-b.x; intdy=a.y-b.y; returndx*dx+dy*dy; } voidmain() { Pointp1(5,6),p2(7,9); p1.Getxy(); p2.Getxy(); intd=Distance(p1,p2); cout<<"Distanceis"< } (33)写出程序执行之后的输出结果。 #include classA { staticinti; public: staticvoidinit(intx){i=x;} voidshow(){cout< }; intA: : i=0; voidmain() { A: : init(100); Ax; x.show(); } (34)下面的程序重载了运算符-和+。 operator+友元函数实现两个对象的减法和加法。 写出该程序的运行输出结果。 #include classA { intx; public: A(){} A(inti){x=i;} friendAoperator+(A&,A&); voidshow(){cout<<"x="< }; Aoperator+(A&s1,A&s2) { intm=s1.x+s2.x; returnA(m); } voidmain() { As1(10),s2(20),s3; s3=s2+s1; s3.show(); } (35)写出该程序的运行输出结果。 #include classBase { public: virtualvoidfun(){cout<<"BaseFun"< }; classDerive: publicBase { public: voidfun(){cout<<"DeriveFun"< }; voidmain() { Deriveb; Base*p=&b; p->fun(); } (15)下面关于继承的描述错误是()。 (A)C++允许一个类拥有两个基类。 (B)基类的私有成员在派生类中是不可访问的。 (C)在公有派生中,基类的公有成员在派生类中仍然是公有的。 (D)在公有派生中,派生类无法使用基类的保护数据成员。 (16)下面四个选项中,()是用来定义虚函数的。 (A)virtual(B)min(C)template(D)static (17)下列语句中,表示将成员函数定义为纯虚函数的是()。 (A)virtualintvf(); (B)voidvf()=0; (C)virtualvoidvf()=0; (D)virtualvoidvf(){}=0; (18)下面不属于类的成员函数的是()。 (A)友元函数(B)构造函数(C)析构函数(D)拷贝构造函数 (19)假设inta=8;intc=a%2;则c的值是() (A)1(B)2(C)5(D)0 (20)下面关于函数重载正确的描述是(a)。 (A)重载函数的参数情况不能完全相同。 (B)重载函数的返回类型一定不同。 (C)重载函数的行数一定不能相同。 (D)重载的函数名称不能相同。 (21)定义内联函数使用的是关键字_______inline__________。 (22)若使用标准输出流把整型变量a的值输出到屏幕上,实现此操作的C++语句是__________。 (23)C++程序必须有且只有一个主函数,其函数名为________________。 (24)有下列代码inta=0;doubleb=0;cin>>a>>b;当用键盘输入1.25时,b=__________。 (25)增量表达式++y表示成赋值表达式是。 (26)包含有纯虚函数的类被称为____抽象______类。 (27)表达式cout<<'\n'还可以表示为__________。 (28)存在下面程序: inty=56; int&b=y; y=99; cout< 输出结果是________________。 (29)C++是一种面向__________的程序设计语言。 (30)若要把函数voidFriendFunction()定义为类MyClass的友元函数,则应在类MyClass的定义中加入语句_______________________________________。 (31)下列程序中,如果输入“123”然后回车,请写出程序的输出结果。 #include intsum(intx,inty,intz=1) { returnx+y+z; } voidmain() { inta,b,c; cin>>a>>b>>c;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 练习题
![提示](https://static.bdocx.com/images/bang_tan.gif)