电子科技大学《C++》自测题.docx
- 文档编号:10019979
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:25
- 大小:22.70KB
电子科技大学《C++》自测题.docx
《电子科技大学《C++》自测题.docx》由会员分享,可在线阅读,更多相关《电子科技大学《C++》自测题.docx(25页珍藏版)》请在冰豆网上搜索。
电子科技大学《C++》自测题
网络复习题一
一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码分别填在题干的括号内。
每小题1分,共15分)
1.cin是
(2)类的标准对象的引用。
①ostream②istream③stdout④stdin
2.无名类就是没有
(1)的类。
①类名②任何成员③数据成员④成员函数
3.说明虚函数的关键字为
(2)。
①inline②virtual③static④define
4.若有floatf=6.8;inti=(int)f;则i的值为(6);
①6②7③6.8④不确定
5.用成员函数重载一元运算符θ,则显示调用方式为(3)。
①objθ②θobj③obj.operatorθ()④operatorθ(obj)
6.以下
(2)没有返回类型,但又有return语句。
①析构函数②类类型转换函数③运算符重载函数④构造函数
7.无名类最多可以定义
(2)个对象。
10②1③2④任意多
8.C++利用(4)实现类属。
①函数重载②继承③封装④模板
9.以下(4)是一个类的所有对象共享的。
1私有段数据成员②公有段数据成员③保护段数据成员④静态数据成员
10.若有floatf=1.8;inti=(int)f;则f的值为(3);
①1②2③1.8④不确定
11.说明内联函数的关键字为
(1)。
1inline②virtual③static④define
12.关于虚函数,(3)不正确。
1析构函数可以是虚函数②构造函数不可以是虚函数
③虚函数是类的私有成员函数④虚函数是类的公有成员函数
13.根类的成员可以有(4)种不同的被访问的权限。
①1②2③3④4
14.cout是
(1)类的标准对象的引用。
①ostream②istream③stdout④stdin
15.空类就是没有
(2)的类。
①类名②任何成员③数据成员④成员函数
二、多项选择题(在每小题的五个备选答案中,选出二个至五个正确的答案,并将其号码分别填在题干的括号内,多选、少选、错选,均无分。
每小题2分,共10分)
1.CRC方法从(125)方面来表述对象。
①对象取名②责任③友元④共享⑤合作者
2.以下(1245)的重载能被派生类继承。
①*②+③=④--⑤[]
3.区分同名函数,(1235)是早期匹配。
1根据参数表②根据类名③根据不同类的对象④虚函数⑤根据不同类对象的指针
4.以下(2345)是正确的强制类型转换方式。
①type表达式②(type)表达式③type(表达式)④(type)(表达式)⑤(type表达式)
5.一个类的友元可以是(2345)。
①自己类的成员函数②在该类中定义的友元函数③另一个类的所有成员函数④另一个类的某个成员函数⑤该类的友元类
三、名词解释(共10分)
1.对象
一组数据及对该组数据的操作封装而成的实体。
2.多态性
一个名字(或符号)有多种含义。
3.引用
存储单元(或变量)的别名。
四、判断分析题(判断正误,将正确的划上“√”,错误的划上“×”,并简述理由。
共15分)
1.无论是公有派生或私有派生,都可以将派生类对象当作基类对象使用。
(×)
只有公有派生情况下,可以将派生类对象当作基类对象使用。
2.一个类的对象具有该类定义的所有数据成员的副本。
(×)
一个类的对象具有该类定义的所有非static数据成员的副本。
3.基类的公有成员函数在派生类中仍然是公有成员函数。
(×)
基类的公有成员函数在公有派生类中仍然是公有成员函数
4.new和delete可以在一个类的内部进行重载,也可以在任何类外进行重载。
(√)
五、读程序,得结果(每小题5分,共10分)
1.#include“iostream.h”
classA
{
public:
A(){cout<<“Aiscreated\n”;}
};
classB:
virtualpublicA
{public:
B(){cout<<“Biscreated\n”;}
};
classC:
virtualpublicA,publicB
{
public:
C(){cout<<“Ciscreated\n”;}
};
main()
{
BobjB;
CobjC;
}
答案
Aiscreated
Biscreated
Aiscreated
Biscreated
Ciscreated
2.#include“iostream.h”
classA
{
inta;
public:
voidset(intx=0){a=x;}
voidput(){cout< voidfunc() { AobjA1; objA1.set(20); set(30); put(); objA1.put(); put(); } }; main() { AobjA; objA.set(10); objA.put(); objA.func(); objA.put(); } 答案 10 30 20 30 30 六、指出下列程序的错误;说明错误的原因;并改正(每小题5分,共10分) 1.#include“iostream.h” classX { public: intx; X(inta){x=a;} }; classY: X { public: inty; Y(intb)//错误,派生类构造函数必须先初始化基类对象。 { y=b; } }; main() { XobjX=1; YobjY=2; } 答案 改正: Y(intb): X(10) { y=b; } 2.#include“iostream.h” classA { inta=1;//错误不能初始化 staticintb=3;//错误不能初始化 }; main() { AobjA; A: : b=2;//错误类外访问私有成员 cout< : b;//错误类外访问私有成员 } 改正: #include“iostream.h” classA { public: inta; staticintb; }; intA: : b=10; main() { AobjA; A: : b=2; cout< : b; } 七、编程题(每小题15分,共30分) 1.实现一个Point类(数据成员为一个点在两维直角坐标系内的坐标);实现一个Vector类(数据成员为一个点在两维极坐标系内的坐标);要求两个类的对象能互相赋值。 #include #include constdoublePI=3.14; classVector; classPoint{friendVector; intx;inty; public: Point(intinitx=0,intinity=0) {x=initx;y=inity;} operatorVector(); }; classVector{friendPoint; doublep;doubleseta; public: Vector(doubleinitp=0,doubleinitseta=0) {p=initp;seta=initseta;} operatorPoint(); }; Vector: : operatorPoint() {PointPobj; Pobj.x=p*cos(seta); Pobj.y=p*sin(seta); returnPobj;} Point: : operatorVector() {VectorVobj; Vobj.p=sqrt(x*x+y*y); Vobj.seta=actan(y/x); returnPobj…} 2.实现一个Point类(数据成员为一个点在两维直角坐标系内的坐标);派生一个圆Circle类;能求圆面积,能够画圆。 classPoint{ protected: intx;inty; public: Point(intinitx=0,intinity=0) {x=initx;y=inity;} }; classCircle: Point{ floatr; public: Circle(intx1,inty1,floatr1): Point(x1,y1) {r=r1;} floatarea() {retuen3.14*r*r;} voidshow_circle() {circle(x,y,r);} }; 网络复习题二 一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码分别填在题干的括号内。 每小题1分,共12分) 1.若在类外有函数调用X: : func();则函数func是类X的 (2)函数。 ①私有静态成员函数②公有非静态成员函数③公有静态成员函数④友元函数 2.说明内联函数的关键字为(4)。 1virtual②static③enum④inline 3.(3)不是面向对象语言的核心概念 ①继承②多态性③类属④封装 4.友元函数没有 (1)。 1this指针②返回类型③函数名④参数 5.说明友元函数的关键字为(3)。 ①inline②virtual③friend④define 6.若有Xobj[100];(X为类名),则调用构造函数的次数为(3)次。 ①0②1③100④任意 7.说明静态成员函数的关键字为 (2)。 2virtual②static③enum④inline 8.若在类外有函数调用objX.func();则函数func是类X的 (2)函数。 1私有成员函数②公有非静态成员函数③公有静态成员函数④友元函数 9.派生类的成员可以有(4)种不同的被访问的权限。 ①1②2③3④4 10.复制初始化构造函数对参数的要求是(3)。 ①无特殊要求②指向对象的指针③自己类对象的常引用④对象 11.根类的成员可以有(3)种不同的被访问的权限。 ①1②2③3④4 12.以下 (2)没有返回类型,但又有return语句。 ①析构函数②类类型转换函数③运算符重载函数④构造函数 二、多项选择题(在每小题的五个备选答案中,选出二个至五个正确的答案,并将其号码分别填在题干的括号内,多选、少选、错选,均无分。 每小题2分,共10分) 1.面向对象的核心概念为(123)。 ①数据封装②继承③多态性④模板⑤引用 2.以下(124)可以定义类类型。 ①class②union③type④struct⑤define 3.简单成员函数是指声明中不含(234)的函数。 ①void②static③volatile④const⑤() 4.可以访问一个类的对象的私有成员的有(123)。 ①该类的static成员函数②该类的非static成员函数 ③该类的友元函数④main函数⑤该类的派生类的所有成员函数 5.(23)没有参数。 ①构造函数②析构函数③类类型转换函数④静态成员函数⑤友元函数 三、名词解释(共10分) 4.对象 一组数据及对该组数据的操作封装而成的实体。 5.多态性 一个名字(或符号)有多种含义。 6.类型转换: 一种类型的值转换为另一种类型的值 四、判断分析题(判断正误,将正确的划上“√”,错误的划上“×”,并简述理由。 共16分) 5.基类的公有成员函数在派生类中仍然是公有成员函数。 (×) 基类的公有成员函数在公有派生类中仍然是公有成员函数。 6.static公有数据在类外的访问方式为: 对象.static公有数据。 (×) static公有数据在类外的访问方式为: 类名: : static公有数据。 7.无论是公有派生或私有派生,都可以将派生类对象当作基类对象使用。 (×) 只有公有派生时,可以将派生类对象当作基类对象使用。 (×) 8.指针悬挂有害处。 (√) 五、读程序,得结果(每小题6分,共12分) 1.#include classA { inta; public: A(intx=0){a=x;}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 电子科技大学 自测
![提示](https://static.bdocx.com/images/bang_tan.gif)