c++期末考试判断题+填空题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

判断题

1、对空指针不能用delete运算符。(错误)

2、对重载的函数,要求函数类型相同但参数不同。(错误)

3、任何一个对象只能属于一个具体的类。(正确)

4、用new运算符来创建对象时不会调用构造函数。(错误)

5、对重载的函数,要求参数不同或函数类型不同。(错误)

6、在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。(错误)

7、析构函数可以是虚函数。(正确)

8、无论什么方式的继承,基类的私有成员都不能被派生类访问。(正确)

9、要达到动态联编的效果,基类和派生类的对应函数不仅名字相同,而且返回类型、参数个数和类型也必须相同。(正确)

10、如果派生类没有实现虚函数,那么它将使用他的基类的虚函数。(正确)

11、构造函数可以是虚函数。(错误)

12、指向对象数组的指针不一定必须指向数组的首指针。(正确)

13、对象数组的元素可以是不同类的对象。(错误)

14、对象数组可以赋初值又可以赋值。(错误)

15、一个类的构造函数可以不包含对其子对象的初始化。(错误)

16、在C++中,既允许单继承,又允许多继承。(正确)

17、派生类从基类派生出来,它不能生成新的派生类。(错误)

18、派生类的继承方式只有2种:公有继承和私有继承。(错误)

19、在公有继承中,基类的成员在派生类中都可以直接使用。(错误)

20、在单继承中,派生类中对基类成员的访问也会出现二义性。(错误)

21、解决多继承下二义性问题的方法之一是使用作用域运算符。(正确)

22、作用域运算符(::)只能用来限定成员函数所属的类。(错误)

注:还限制成员变量所属的类。

23、析构函数是一种函数体为空的成员函数。(错误)

24、构造函数和析构函数都不能重载。(错误)

注:构造函数可以重载,析构函数不可以重载(因为析构函数无参数,不可能进行参数区分)。

25、说明或定义对象时,类名前面不需要加class关键字。(正确)

26、对象成员的表示与结构变量成员表示相同,使用运算符.或->。(正确)

27.所谓私有成员是指只有类中所提供的成员函数才能直接使用它们,任何类以外的函数对它们的访问都是非法的。(错误)注:私有成员还可以被友元访问。

28、某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。(正确)

29、可以在类的构造函数中对静态数据成员进行初始化。(错误)

注:静态数据成员属于类而不管是否存在该类的对象,只有创建对象才会调用构造函数,所以静态成员不应该在构造函数中初始。

30、如果一个成员函数只存取一个类的静态数据成员,则可将该成员函数说明为静态成员函数。(正确)注:一般情况,静态成员函数不能访问类的非静态成员;非静态成员函数可访问类任何成员。

31、使用关键字class定义的类中缺省的访问权限是私有(private)的。(正确)

32、已知:m是类A的对象,n是类A的公有数据成员,p是指向类A中n成员的指针。下述两种表示是等价的:m.n和m.*p (正确)

33、指向对象的指针与对象都可以作函数参数,但是使用前者比后者好些。(正确)

34、对象引用作函数参数比用对象指针更方便些。(正确)注:不需要间接访问

35、对象数组的元素可以是不同类的对象。(错误)

36、对象数组既可以赋初值又可以赋值。(正确)

37、指向对象数组的指针不一定必须指向数组的首元素。(正确)注:指针可以移动。

38、一维对象指针数组的每个元素应该是某个类的对象的地址值。(正确)

39、const char* p说明了p是指向字符串的常量指针。(错误)注:p是指向字符串常量的指针-正确。

40、一个类的构造函数中可以不包含对其子对象的初始化。(正确)

注:形式上可以,但本质会调用缺省构造函数对子对象进行初始化。本题有二义性。

41、转换函数不是成员函数,它是用来进行强制类型转换的。(错误)

42、指向对象的指针和指向类的成员的指针在表示形式上是不相同的。(正确)

43、C++语言中,既允许单继承,又允许多继承。(正确)

44、派生类是从基类派生出来,它不能再生成新的派生类。(错误)

45、派生类的继承方式有两种:公有继承和私有继承。(错误)//还有保护继承

45、在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。(错误)

注:基类中的公有成员和保护成员在派生类中都是可见的,基类私有成员在派生类中不可见。

47、在公有继承中,基类中只有公有成员对派生类对象是可见的。(正确)

48、在私有继承中,基类中只有公有成员对派生类是可见的。//保护成员也可见(错误)

49、在私有继承中,基类中所有成员对派生类的对象都是不可见的。(正确)

注:基类成员public,protected成员都变成派生类private成员了。

50、在保护继承中,对于垂直访问同于公有继承,而对于水平访问同于私有继承。(正确)

51、派生类是它的基类的组合。(错误)//不仅是组合,更重要的是扩充和完善

52、构造函数可以被继承。(错误)

53、析构函数不能被继承。(正确)注:构造函数、析构函数都不能继承。

54、子类型是不可逆的。(正确)

55、只要是类M继承了类N,就可以说类M是类N的子类型。(错误)//公有继承

56、如果A类型是B类型的子类型,则A类型必然适应于B类型。(正确)

57、多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。(正确)

58、单继承情况下,派生类中对基类成员的访问也会出现二义性。(错误)

59、解决多继承情况下出现的二义性的方法之一是使用成员名限定法。(正确)注:严格讲“作用域限定”。

60、虚基类是用来解决多继承中公共基类在派生类中只产生一个基类子对象的问题。(错误)注:“多个”

61、函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。(正确)

62、重载函数可以带有缺省值参数,但是要注意二义性。(正确)

63、多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的。(正确)

64、对每个可重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数,还可以重载为非成员函数。(错误)//“可以重载为非成员函数”不确切。

65、对单目运算符重载为友元函数时,说明一个形参;重载为成员函数时,不能显式说明形参。(错误)

相关文档
最新文档