南开21春学期(1709、2103、2109、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业[免费答案]
南开21春学期(1709、2103、2109、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业[免费答案]满分答案
21春学期(1709、2103、2109、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.标准类模板
正确答案:-----
21.下列关于运算符重载的描述中,正确的是()。
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.函数调用时,必须使用默认的参数值,不能给出ABC实参值
D.设置默认参数时,应该设置最右边的若干个参数的默认值
正确答案:-----
35.声明一个类的对象时,系统自动调用( )函数。
A.成员函数
B.构造函数
C.析构函数
D.普通函数
正确答案:-----
南开21春学期(1709、2103、2109、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业[免费答案]多选题答案
二、判断题 (共 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.重载的运算符保持原来的优先级和结合性以及操作数的个数。
南开21春学期(1709、2103、2109、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业[免费答案]历年参考题目如下:
试卷总分:100 得分:0
一、 单选题 (共 10 道试题,共 40 分)
1.下列关于C#面向对象应用的描述中,哪项是正确的?( )。
A.派生类是基类的扩展,派生类可以添加ABC成员,也可去掉已经继承的成员
B.abstract方法的声明必须同时实现
C.声明为sealed的类不能被继承
D.接口像类一样,可以定义并实现方法
2.通过继承( )类,用户可以创建自己的异常类。
A.System.Exception
B.System.SystemException
C.System.ApplicationException
D.System.UserException
3.在类的定义中,类的( )描述了该类的对象的行为特征。
A.类名
B.方法
C.所属的命名空间
D.私有域
4.以下说法正确的是( )。
A.虚方法必须在派生类中重写,抽象方法不需要重写
B.虚方法可以在派生类中重写,抽象方法必须重写
C.虚方法必须在派生类中重写,抽象方法必须重写
D.虚方法可以在派生类中重写,抽象方法也不需要重写
5.下列哪一个不是类成员的成员的是( )。
A.属性
B.数组
C.索引器
D.while循环结构
6.关于如下程序结构的描述中,哪一项是正确的?( ) for ( ; ; ) { 循环体; }
A.不执行循环体
B.一直执行循环体,即死循环
C.执行循环体一次
D.程序不符合语法要求
7.引用ListBox(列表框)最后一个数据项应使用( )语句。
A.ListBox1.Items[ListBox1.Items.Count]
B.ListBox1.Items[ListBox1.SelectedIndex]
C.ListBox1.Items[ListBox1.Items.Count-1]
D.ListBox1.Items[ListBox1.SelectedIndex-1]
8.如果左操作数大于右操作数,( )运算符返回false。
A.=
B.<
C.<=
D.以上都是
9.引用ListBox(列表框)当前被选中的数据项应使用( )语句。
A.ListBox1.Items[ListBox1.Items.Count]
B.ListBox1.Items[ListBox1.SelectedIndex]
C.ListBox1.Items[ListBox1.Items.Count-1]
D.ListBox1.Items[ListBox1.SelectedIndex-1]
10.下列关于数组访问的描述中,哪些选项是错误的? ( )
A.数组元素索引是从0开始的
B.对数组元素的所有访问都要进行边界检查
C.如果使用的索引小于0,或大于数组的大小,编译器将抛出一个IndexOutOfRangeException异常;
D.数组元素的访问是从1开始,到Length结束;
二、 判断题 (共 15 道试题,共 60 分)
1.当方法的修饰符设为proteced时,表示该方法可以被处于同一个工程的文件访问。
A.错误
B.正确
2.try、catch、finally三个字句必须同时出现,才能正确处理异常。
A.错误
B.正确
3.类和对象的区别在于万物都是对象,是个实体,而概念是个类上的描述。
A.错误
B.正确
4.在有继承关系的类中,当创建派生类的对象时,先调用派生类的构造函数,再调用基类构造函数。
A.错误
B.正确
5.对象是人们要进行研究的任何事物在面向对象程序设计中的抽象。
A.错误
B.正确
6.switch语句中必须有default标签。
A.错误
B.正确
7.静态类和实例类的区别在于:静态类不需要初始化即可直接使用,实例类需要进行实例化,生成对象才可使用。
A.错误
B.正确
8.接口不能通过方法来实现。
A.错误
B.正确
9.c#是大小写不敏感的语言。
A.错误
B.正确
10.常量通过关键字const进行声明。
A.错误
B.正确
11.如果要实现重写,在基类的方法中必须使用virtual关键字,在派生类的方法中必须使用overrides关键字。
A.错误
B.正确
12.隐式枚举转换允许将十进制的整数转换为枚举类型的变量。
A.错误
B.正确
13.用Interval属性设置Timer控件Tick事件发生的时间间隔单位为秒。
A.错误
B.正确
14.继承能够实现代码的复用。
A.错误
B.正确
15.abstract方法的声明必须同时实现。
A.错误
B.正确