正确答案:D
23春学期(高起本1709-2103、专升本/高起专1909-2103)《面向对象程序设计》在线作业-00003
正确答案:D
试卷总分:100 得分:100
一、单选题 (共 35 道试题,共 70 分)
1.下列说法中错误的是( )。
A.公有继承时基类中的public成员在派生类中是public的
B.公有继承时基类中的private成员在派生类中是不可访问的
C.私有继承时基类中的public成员在派生类中是private的
D.私有继承时基类中的public成员在派生类中是protected的
正确答案:A
2.关于纯虚函数和抽象类的描述中,错误的是()。
A.纯虚函数是一种特殊的虚函数,它没有具体的实现。
B.抽象类是指具有纯虚函数的类。
C.一个基类中有纯虚函数,该类的派生类一定不再是抽象类。
D.抽象类作为基类来使用,其纯虚函数的实现由派生类给出。
正确答案:C
3.下面( )的叙述不符合赋值兼容规则。
A.派生类的对象可以赋值给基类的对象
B.基类的对象可以赋值给派生类的对象
C.派生类的对象可以初始化基类的对象
D.派生类的对象的地址可以赋值给指向基类的指针
正确答案:C
4.有关重载函数的描述正确的是()。
A.函数名相同的函数就是重载函数
B.函数名相同但返回值类型不同的函数就是重载函数
C.函数名相同但参数个数或类型不同的函数就是重载函数
D.函数功能相同的函数就是重载函数
正确答案:D
5.类的默认的无参构造函数()。
A.在任何情况下都存在
B.仅当未定义无参构造函数时存在
C.仅当未定义有参构造函数时存在
D.仅当未定义任何构造函数时存在
正确答案:D
6.C++有( )种联编方式。
A.1
B.2
C.3
D.4
正确答案:B
7.继承具有(),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
A.规律性
B.传递性
C.重复性
D.多样性
正确答案:B
8.类对象占用内存的大小与()有关。
A.数据成员
B.成员函数
C.数据成员和成员函数
D.私有成员
正确答案:B
9.假定已定义浮点型变量data,以二进制方式把data的值写入输出文件流对象outfile中去,正确的语句是( )。
正确答案:C
A.outfile.write((float *) &data, sizeof(float));
正确答案:D
正确答案:C
B.outfile.write((float *) &data, data);
正确答案:C
C.outfile.write((char *) &data, sizeof(float));
D.outfile.write((char *) &data, data);
正确答案:B
10.实现运行时的多态性要使用()。
A.构造函数
B.析构函数
C.重载函数
D.虚函数
正确答案:B
11.撤消对象时,系统自动调用( )函数。
A.成员函数
B.构造函数
C.析构函数
D.普通函数
正确答案:A
12.下面说法正确的是( )。
A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
C.类的内联函数必须在类体内定义
D.类的内联函数必须在类体外用关键字inline定义
正确答案:A
13.下面关于类的成员函数描述不正确的是()。
A.静态成员函数内可以直接访问类的非静态成员数据
B.静态成员函数内可以直接访问类的静态成员数据
C.非静态成员函数可以直接访问类的非静态成员数据
D.非静态成员函数可以直接访问类的静态成员数据
正确答案:D
14.类A是类B的友元,类B是类C的友元,则( )是正确的。
A.类B是类A的友元
B.类C是类A的友元
C.类A是类C的友元
D.以上都不对
正确答案:B
正确答案:C
15.对于多重继承,有( )。
A.一个派生类只能有一个基类
B.一个基类只能产生一个派生类
C.一个基类必须产生多个派生类
D.一个派生类可有多个基类
正确答案:A
16.下列类中( )是输入/输出流类iostream的派生类。
A.fstream
B.ofstream
C.ifstream
D.ostream
正确答案:D
17.若类中有指针成员变量,则应编写(),使得在对象销毁时能够自动调用该函数释放指针成员变量所指向的内存空间。
A.友元函数
B.虚函数
C.构造函数
D.析构函数
正确答案:D
21.对静态成员的不正确描述是( )。
A.静态成员不属于对象,是类的共享成员
B.静态数据成员要在类外定义和初始化
C.调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针
D.非静态成员函数也可以操作静态数据成员
正确答案:C
19.下面程序段中,说法正确的是( ) class location{ public : int GetX(); }; class rectangle:private location { public: int GetW(); };
A.类rectangle的私有派生类是location
B.类rectangle中的public成员在类 location中是私有的
C.类location中的public成员在类 rectangle中是不可访问的
D.viod f( ) { Rectangle r; int X=r .GetX( ); } 其中int X = r .GetX( );是非法语句
正确答案:D
20.下面关于友元的描述中,错误的是( )。
A.友元函数可以访问该类的私有数据成员
B.一个类的友元类中的成员函数都是这个类的友元函数
C.友元可以提高程序的运行效率
D.类与类之间的友元关系可以继承
正确答案:A
21.( )的功能是对对象进行初始化。
A.析构函数
B.数据成员
C.构造函数
D.静态数据成员
正确答案:B
22.下面程序段中是内联函数的是( )。 class location { private: int x ,y; public: void init(int initx,int inity) { x=initx; y=inity; } int getx(){return x;} int gety(); }; inline int location::gety() {return y;}
正确答案:B
A.init (int initx,int inity)
B.getx(),gety()
C.A和B都是
D.A和getx()
正确答案:D
23.在保护继承中,基类中的私有成员作为派生类的()。
A.公有成员
B.私有成员
C.保护成员
D.不可访问
正确答案:A
24.下列关于成员函数特征的描述中,错误的是( )。
A.成员函数一定是内联函数
B.成员函数可以重载
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的
正确答案:A
25.若一个类中含有纯虚函数,则该类称为( )。
A.基类
B.纯基类
C.派生类
D.抽象类
正确答案:C
26.在C++中,关于下列设置参数默认值的描述中,正确的是( )。
A.不允许设置参数的默认值
B.设置参数默认值只能在定义函数时设置
C.设置参数默认值时,应该是先设置右边的再设置左边的
D.设置参数默认值时,应该全部参数都设置
正确答案:A
27.由于数据隐藏的需要,静态数据成员通常被说明为( )。
A.私有的
B.公有的
C.保护的
D.不可访问的
正确答案:A
28.友元关系不能( )。
A.继承
B.是类与类之间是关系
C.是一个类的成员函数与另一个类的关系
D.提高程序的运行效率
正确答案:C
29.动态联编所支持的多态性是( )。
A.虚函数
B.继承
C.编译时的多态性
D.运行时的多态性
正确答案:A
30.有下面类的说明,有错误的语句是( )。 class X { A.int a=2; B.X(); public: C.X(int val); D.~X(); };
正确答案:C
A.A
B.B
C.C
D.D
正确答案:D
31.执行语句“string str("abc");”时,系统会自动调用string类的构造函数()。
正确答案:C
A.string()
B.string(const char *s)
C.string(const string &str)
D.string(size_type n, char c)
正确答案:B
32.一个( )允许用户为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值可以取任意数据类型。
A.函数模板
B.模板函数
C.类模板
D.模板类
正确答案:B
33.已知X类中的一个成员函数说明如下: void Set(X*a); 其中,X*a的含义是( )。
正确答案:C
A.a是指向X类对象的指针,用来作为Set()的形参
B.将X*a的计算结果传递给Set()函数
C.a是X类对象的引用,用来做为Set()的形参
D.以上都不对
34.在下列选项中( )不是ostream类的对象。
A.cin
B.cerr
C.clog
D.cout
正确答案:A
35.关于对象成员的构造函数的调用顺序,说法正确的是( )。
A.与它们在成员初始化列表中给出的顺序相同
B.与析构函数的调用顺序相同
C.与它们在类中说明顺序相同
D.以上说法都不对
正确答案:B
南开23春学期《面向对象程序设计》在线作业[答案]多选题答案
正确答案:C
二、判断题 (共 15 道试题,共 30 分)
36.预定义的提取符和插入符是可以重载的。
37.类模板可以生成若干个模板类,每个模板类又可定义若干个对象。
38.cout后面的符号是<<。
39.C++的I/O系统通过流的机制实现文件和控制台的输入输出操作。
40.在面向对象程序设计中,每个对象可以单独设置属性值。
41.C++基类中,不能被派生类继承的有构造函数和析构函数。
42.运算符重载可以改变运算符的优先级。
43.在类内部定义的public数据可以在类外进行存取。
44.面向对象程序设计方法中也会使用结构化程序设计方法。
45.对象成员的访问与结构变量成员的访问相同,使用运算符.或->。
46.以友元方式重载运算符时,形参列表中至少有一个参数必须是自定义数据类型。
47.可以在类的构造函数中对静态数据成员进行初始化。
48.在用class定义一个类时,数据成员和成员函数的默认访问权限是public。
49.遇到一个问题后,应先分析问题、设计算法,然后再编写程序。
50.使用关闭文件函数close()关闭一个文件时,但流对象仍存在。
南开23春学期《面向对象程序设计》在线作业[答案]历年参考题目如下:
21秋《面向对象程序设计》作业1
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.题面见图片{图}
A.A
B.B
C.C
D.D
2.题面见图片{图}
A.A
B.B
C.C
D.D
3.设x和y均为bool量,则x && y为真的条件是( )。
A.它们均为真
B.其中一个为真
C.它们均为假
D.其中一个为假
4.题面见图片{图}
A.A
B.B
C.C
D.D
5.存储以下数据,占用存储字节最多的是( )。
A.0
B.‘0’
C.“0”
D.0.0
6.题面见图片{图}
A.A
B.B
C.C
D.D
7.关于封装,下列说法中不正确的是( )。
A.通过封装,对象的全部属性和操作结合在一起,形成一个整体
B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
C.通过封装,每个对象都成为相对独立的实体
D.通过封装,对象的属性都是不可见的
8.题面见图片{图}
A.A
B.B
C.C
D.D
9.循环体至少被执行一次的语句为( )。
A.for循环
B.while循环
C.do循环
D.任一种循环
10.设x是一个bool型的逻辑量,y的值为10,则表达式 x && y的值为( )。
A.1
B.0
C.与x值相同
D.与x值相反
11.在下面循环语句中循环体执行的次数为( )。int i=0,s=0; while(s<20) {i++; s+=i;}
A.4
B.5
C.6
D.7
12.题面见图片{图}
A.A
B.B
C.C
D.D
13.题面见图片{图}
A.A
B.B
C.C
D.D
14.C++程序从上机到得到结果的几个操作步骤依次是( )。
A.编译、编辑、连接、运行
B.编辑、编译、连接、运行
C.编译、运行、编辑、连接
D.编辑、运行、编辑、连接
15.题面见图片{图}
A.A
B.B
C.C
D.D
16.函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为( )个。
A.1
B.2
C.4
D.5
17.在下面循环语句中内层循环体S语句的执行总次数为( )。for(int i=0; i<n; i++)for(int j=i; j<n; j++) S;
A.n2
B.(n+1)/2
C.n(n-1)/2
D.n(n+1)/2
21.题面见图片{图}
A.A
B.B
C.C
D.D
19.将两个字符串连接起来组成一个字符串时,选用( )函数。
A.strlen()
B.strcap()
C.strcat()
D.strcmp()
20.以下正确的说法是( )。
A.用户调用标准库函数前,必须重新定义
B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C.系统不允许用户重新定义标准库函数
D.用户调用标准库函数前,不必使用预编译命令将该函数所在文件包括到用户源文件中
南开23春学期《面向对象程序设计》在线作业[答案][答案]相关练习题:
李某于2015年3月4日填具投保单投保车损险,保险公司于3月5日进行审核,于3月6日收取保险费并于当时签发了保险单,保险单于3月7日送达李某,该合同生效时间是 ?。
在期望报酬率相同的条件下,标准离差越大的方案则风险()
以下属于静脉麻醉药的是
评定表面粗糙度时,一般在横向轮廓上评定,其理由是( )。
与古典技术相比,现代技术依靠现代工具(技术设施)尽量在技术构形中除去人的因素,它借助技术措施提供的能量转换过程,有可能依照理论制造物品。这即是生产的()