面向对象程序设计C期末考试试题.docx
《面向对象程序设计C期末考试试题.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计C期末考试试题.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、山东师范高校2022-2022学年第一学期期末考试试题 一、单项选择题 下面每题的选项中,只有一个是正确的,请选择正确的答案填入答题纸中对应的题号后(本 题共25小题,每题1分,共25分)。1、当一个函数无返回值时,函数的类型应定义为( )oA void B 任意 C int D 无)o指出作用域的范围标识某个成员是属于哪个类B形参和实参都是变量D形参是引用,实参是变量)o指出作用域的范围标识某个成员是属于哪个类B形参和实参都是变量D形参是引用,实参是变量2、作用域运算符的功能是(A标识作用域的级别 B C给定作用域的大小 D 3、以下的()是引用调用。B构造函数可以重载。D构造函数必需指定类
2、型说明。)不能作为类的成员。A形参是指针,实参是地址值 C形参是数组名,实参是数组名 4、()不是构造函数的特征 A构造函数的名和类名相同 C构造函数可以设置默认值 5、以下(A自身类对象的指针B自身类对象的引用C自身类对象D另一个类的对象6、重载函数在调用时选择的依据,()是错误的。A.参数个数B参数的类型C A或者BD函数的类型7、以下静态成员的特性中,()是错误的。A 说明静态成员时,要加修饰符staticB静态数据成员要在类体外进行初始化C引用静态数据成员时,要在静态数据成员名前加类名及作用域运算符D静态数据成员不是全部对象所共用的8、fl(int)是类A的公有成员函数,p是指向成员函
3、数fl()的指针,采纳()是正确的。A p=fl B p=A:fl C p=A:fl() D p=f 1 ()9、运算符-*的功能是( )oA用来表示指向对象指针对指向类成员指针的操作B用来表示对象对指向类成员指针的操作C用来表示指向对象指针对类成员的操作D用来表示对象类成员的操作10、以下定义中,()是定义指向数组的指针p.A int p5 B int (*p)5 C (int*)p5 D int *p11、设p为一个指向类A数据成员m的指针,Al为A的一个对象。假如给m赋值5,() 为正确的。A ALp=5 B Al,p=5 C AL*p=5 D *ALp=512、print。函数是一个类
4、的常成员函数,它无返回值。以下表示中,()是正确的。A void print () const B const void print ()C void const print () D void print (const)13、说明 const char * ptr;中,ptr 应当是()。A指向字符常量的指针B指向字符的常量指针Product p 1(“ 电视机”,200015);pl.buy(7000);pl.get();pl.buy(4500);pl.get();)2 .以面对对象的方法设计一个类,此类包含3个私有数据:unlead, lead (无铅汽油和有铅 汽油)以及total (
5、当天总收入,无铅汽油的价格是17元/公升,有铅汽油的价格是16元/公 升),请以构造函数方式建立此值。试输入某天所加的汽油量,本程序将列出加油站当天的 总收入。(10分)#include class Tc(private:double unlead,lead,total;int unprice,price;public:Tc() unpriced 17 ;price= 16;void getdata()(coutvv”无铅汽油总量;”;cinunlead;COUtVV”有铅汽油总量;”;cinlead;total二unprice*unlead+price*lead;)void disp()(c
6、outvv”总收入:ntotalendl;);void main()Tc A;A.getdata();A.dispO;3 .编写一个程序计算两个给定长方形的面积,其中在设计类成员函数addarea。(用于计算 两个长方形的总面积)时使用对象作为参数。(12分)#include #include class rectangle(private:float ledge,sedge;public:rectangle();rectangle(float a,float b)(ledge=a;sedge=b;);float area()(return ledgesedge;);void addarea(
7、rectangle rl,rectangle r2)(cout”,总面积:nrl.ledger 1 .sedge+ r2ledge*r2.sedgeendl;);void main()(rectangle A(3.5,2.5),B(4.2,3.8),C;C.addarea(A,B);.编一个程序计算正方体,球体和圆柱体的外表积和体积。要求:抽象出一个公共基类 container为抽象类,在其中定义求外表积和体积的纯虚函数。抽象类中定义一个公共的数据 成员radius,此数值可以作为球体的半径、正方体的边长、圆柱体底面圆半径。由该抽象类派 生出的三个类,都有求外表积和体积的实际定义。键盘输入ra
8、dius的值后,可以输出这3 种立方体的面积。(13分)#include class Circle(public:Circle(double i) r=i;double Area(double r) a=r*r*3.14159; return a;void Show() coutHarea=HArea(r)endl;private:double r,a;);class Rectangle public:Rectangle(double i,double j) l=i;w=j;double Area(double i,double j) a=i*j; return a;void Show() c
9、outHarea=,Area(l,w)endl; private:double l,w,a;;class Graph:public Circle, public Rectanglepublic:Graph(double i, double j, double k):Circle(i),Rectangle(j,k) r=i;l=j;w=k;double Area(double r,double 1,double h) a=Circle:Area(r)+Rectangle:Area(l,h); return a; void Show() coutarea=nArea(r,l,w)endl;priv
10、ate:double r,l,w,a;);void main() (Circle c(10);c.ShowQ;Rectangle rec(20,50);rec.ShowQ;Graph g(10.0,20.0,50.0);g.Show();C指向字符串常量的指针 D指向字符串的常量指针14、派生类的对象对它的基类成员中()是可以访问的。A公有继承的公有成员B公有继承的私有成员C公有继承的保护成员D私有继承的公有成员15、以下对派生类的描述中,()是错的。A 一个派生类可以作为另一个派生类的基类B派生类至少有一个基类C 派生类的成员除了它自己的成员以外,还包含了它的基类成员D派生类中继承的基类成员
11、的访问权限到派生类保持不变16、对于int*pa5;的描述,()是正确的。A pa是一个指向数组的指针,所指向的数组是5个int型元素。B pa是一个指向某数组中第5个元素的指针,该元素是血型变量。C pa5表示某个数组的第5个元素的值。D pa是一个具有5个元素的指针数组,每个元素是一个血型指针。17、设置虚基类的目的是()oA简化程序 B消退二义性C提高运行效率D削减目标代码18、带有虚基类的多层派生类构造函数的成员初始化列表中都耍列出虚基类的构造函数, 这样将对虚函数的子对象初始化()oA与虚基类下的派生类个数有关 B屡次C二次 D 一次19、以下函数中,()不能重载。A成员函数 B非成
12、员函数C析构函数 D构造函数20、关于动态联编的描述中,()是错误的。A动态联编是以虚函数为基础的B动态联编是在运行时,确定所调用的函数代码的。C动态联编调用函数操作是指向对象的指针或对象引用。D动态联编是在编译时确定操作函数的。21、关于虚函数的描述中,()是正确的。A虚函数是一个非satatic类的成员函数。B虚函数是一个非成员函数。C基类中说明白虚函数后,派生类中与其对应的函数可以不必说明为虚函数。D 派生类的虚函数与基类的虚函数具有不同的参数个数和类型。22、关于纯虚函数和抽象类的描述中,()是错误的。A 纯虚函数是一种特别的虚函数,它没有详细的实现。B抽象类是指含有纯虚函数的类。C
13、一个基类中说明白纯虚函数,那么其派生类不再是抽象类。D抽象类一般只能作为基类来使用。23、以下关于抽象类的使用中,()是错误的。A可以定义抽象类的对象 B可以定义抽象类的指针C可以定义抽象类的引用 D可以定义抽象类的派生类24、派生类的构造函数的成员初始化列表中,不能包含()0A基类的构造函数B派生类中子对象的初始化C基类的子对象的初始化D派生类中一般数据成员的初始化25、关于new运算符的以下描述中,()是错的。A 它可以用来动态创立对象和对象数组;B使用它创立的对象或对象数组可以使用delete运算符删除;C使用它创立对象时要调用构造函数;D使用它创立对象数组时,必需指定初始值。二、填空题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计C 期末考试试题 面向 对象 程序设计 期末考试 试题
限制150内