欢迎访问奥鹏在离线作业答案网!

奥鹏在离线作业答案网

当前位置: 网站首页 > 在线作业 >

南开21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业【标准答案】

时间:2021-06-09 08:38来源:未知 作者:admin 点击:
21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业 试卷总分:100 得分:100 一、单选题 (共 35 道试题,共 70 分) 1.下面函数原型声明中,( )声明了fun为纯虚函数。 A.void fun()=0; B.virtual void fun()=0; C.virtual void fun(
21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业
试卷总分:100  得分:100
一、单选题 (共 35 道试题,共 70 分)
1.下面函数原型声明中,( )声明了fun为纯虚函数。
A.void fun()=0;
B.virtual void fun()=0;
C.virtual void fun();
D.virtual void fun(){};
 
2.虚函数必须是类的()。
A.友元函数
B.成员函数
C.构造函数
D.析构函数
 
3.已知X类,则当程序执行到语句 X array[3]; 时,调用了( )次构造函数。
A.0
B.1
C.2
D.3
 
4.要求打开文件 d:\file.dat,可写入数据,正确的语句是( )。
A.ifstream infile("d:\file.dat", ios::in);
B.ifstream infile("d:\\file.dat", ios::in);
C.ofstream infile("d:\file.dat", ios::out);
D.fstream infile("d:\\file.dat", ios::in| ios::out);
 
5.动态联编所支持的多态性是( )。
A.虚函数
B.继承
C.编译时的多态性
D.运行时的多态性
 
6.下列运算符中,()运算符在C++中不能重载。
A.?:
B.+
C.-
D.=
 
7.基类的()在私有继承时在派生类中为私有成员函数,在公有和保护继承时在派生类中为保护成员函数。
A.私有成员函数
B.保护成员函数
C.公有成员
D.保护数据成员
 
8.有关析构函数的说法正确的是( )。
A.析构函数可以有多个
B.析构函数和构造函数一样可以有形参
C.析构函数的功能是用来释放一个对象
D.析构函数的函数类型为void
 
9.下面对静态数据成员的描述中,正确的是( )。
A.静态数据成员是类的所有对象共享的数据
B.类的每个对象都有自己的静态数据成员
C.类的不同对象有不同的静态数据成员值
D.静态数据成员不能通过类的对象访问
 
10.下面对友元的错误描述是( )。
A.关键字friend用于声明友元
B.一个类的成员函数可以是另一个类的友元
C.友元函数访问对象的成员不受访问特性影响
D.友元函数通过this指针访问对象成员
 
11.下面哪个基类中的成员函数表示纯虚函数( )。
A.virtual void vf(int)
B.void vf(int)=0
C.virtual void vf()=0
D.virtual void vf(int)
 
12.在C++中,关于下列设置参数默认值的描述中,正确的是( )。
A.不允许设置参数的默认值
B.设置参数默认值只能在定义函数时设置
C.设置参数默认值时,应该是先设置右边的再设置左边的
D.设置参数默认值时,应该全部参数都设置
 
13.在保护继承中,基类中的私有成员作为派生类的()。
A.公有成员
B.私有成员
C.保护成员
D.不可访问
 
14.关于类和对象不正确的说法是( )。
A.类是一种类型,它封装了数据和操作
B.对象是类的实例
C.一个类的对象只有一个
D.一个对象必属于某个类
 
15.面向对象程序设计方法以()为中心进行分析和设计。
A.结构
B.模块
C.对象
D.类
 
16.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )。
A.ios::in
B.ios::out
C.ios::trunk
D.ios::binary
 
17.在C++标准模板库中,vector容器是一种( )。
A.标准类
B.标准对象
C.标准函数
D.标准类模板
 
18.下列关于运算符重载的描述中,正确的是()。
A.运算符重载可以改变操作数的个数
B.运算符重载可以改变运算符的优先级
C.运算符重载可以改变运算符的结合性
D.运算符重载可以使运算符实现特殊功能
 
19.已知AA是一个类,则执行语句AA a;后( )。
A.自动调用无参构造函数
B.自动调用有参构造函数
C.自动调用拷贝构造函数
D.产生一个对象a,但不调用任何函数
 
20.下面关于私有继承方式的论述中错误的是()。
A.基类中的私有成员对其对象不可见
B.基类中的私有成员对其派生类不可见
C.基类中的公有成员对其派生类可见
D.基类中的保护成员对其派生类不可见
 
21.( )是析构函数的特征。
A.析构函数可以有一个或多个参数
B.析构函数定义只能在类体内
C.析构函数名与类名不同
D.一个类中只能定义一个析构函数
 
22.在C++中,能被派生类继承的函数是( )。
A.成员函数
B.构造函数
C.析构函数
D.拷贝构造函数
 
23.已知函数原型:void f(int a, int b=3,char c='*'); 则下面的函数调用中,不合法的调用是()。
A.f(5)
B.f(5,8)
C.f(6, , '#')
D.f(0,0, '#')
 
24.下面关于类的成员函数描述不正确的是()。
A.静态成员函数内可以直接访问类的非静态成员数据
B.静态成员函数内可以直接访问类的静态成员数据
C.非静态成员函数可以直接访问类的非静态成员数据
D.非静态成员函数可以直接访问类的静态成员数据
 
25.下列对派生类的描述中错误的是()。
A.派生类至少有一个基类
B.派生类可作为另一个派生类的基类
C.派生类除了包含它直接定义的成员外,还包含其基类的成员
D.派生类对其继承的基类的成员访问权限保持不变
 
26.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是()。
A.派生类的对象可以直接访问基类的所有成员
B.派生类的对象可以初始化基类的引用
C.派生类的对象不可以直接访问基类中的私有成员
D.派生类的对象的地址可以赋给指向基类的指针
 
27.实现运行时的多态性要使用()。
A.构造函数
B.析构函数
C.重载函数
D.虚函数
 
28.友元运算符obj1>obj2被C++编译器解释为()。
A.operator>(obj1,obj2)
B.>(obj1,obj2)
C.jobj2.operator>(obj1)
D.obj1.operator(obj2)
 
29.下面对析构函数的正确描述是( )。
A.系统不能提供默认的析构函数
B.析构函数必须由用户定义
C.析构函数没有参数
D.析构函数可以设置默认参数
 
30.下列关于C++类的描述中错误的是( )。
A.类与类之间可以通过一些手段进行通信和联络
B.类用于描述事物的属性和对事物的操作
C.类与类之间必须是平等的关系,而不能组成层次关系
D.类与类之间可以通过封装而具有明确的独立性
 
31.在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则()。
A.完全相同
B.完全不同
C.部分相同,部分不同
D.以上都不对
 
32.类模板的模板参数( )。
A.只可作为数据成员的类型
B.只可作为成员函数的返回类型
C.只可作为成员函数的参数类型
D.以上三者皆可
 
33.( )只能访问静态成员变量,不能访问非静态成员变量。
A.静态函数
B.虚函数
C.构造函数
D.析构函数
 
34.有关带默认参数的函数的描述正确的是()。
A.只能在函数定义时设置默认参数值
B.只能在函数声明时设置默认参数值
C.函数调用时,必须使用默认的参数值,不能给出新的实参值
D.设置默认参数时,应该设置最右边的若干个参数的默认值
 
35.声明一个类的对象时,系统自动调用( )函数。
A.成员函数
B.构造函数
C.析构函数
D.普通函数
 
二、判断题 (共 15 道试题,共 30 分)
36.类中的静态数据成员为该类的所有对象所共享,并且,在该类对象被销毁时,静态数据成员不会被同时销毁。
 
37.类模板可以使用两种形式的参数,分别是类型参数和普通单数。
 
38.C++语言中,既允许单继承,又允许多继承。
 
39.函数的定义不可以嵌套,类的定义可以嵌套。
 
40.类的成员函数中可以直接访问对象成员中的私有成员。
 
41.基类类型的指针可以指向其派生类对象。
 
42.对象成员的访问与结构变量成员的访问相同,使用运算符.或->。
 
43.含有纯虚函数的类是抽象类。
 
44.一个类的静态数据成员被该类的所有对象共享。
 
45.设在程序中使用如下语句申请了一个对象数组:Point *ptr=new Point[2]; 当要释放ptr指向的动态数组对象时,所使用的语句是delete ptr。
 
46.对虚函数的调用,系统都是采用动态联编。
 
47.在派生类对象销毁时,系统除了会自动调用派生类的析构函数,还会自动调用基类的析构函数。
 
48.在类体中可以在声明成员变量的同时为其赋初值。
 
49.一般将C++中的类声明和类实现分别放到两个文件中。
 
50.重载的运算符保持原来的优先级和结合性以及操作数的个数。
 
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容