类与对象、构造函数与析构函数单元测验.docVIP

  • 9
  • 0
  • 约6.24千字
  • 约 7页
  • 2017-06-08 发布于湖北
  • 举报

类与对象、构造函数与析构函数单元测验.doc

类和对象、构造函数和析构函数 单元测验 (满分80分) 学号: 姓名: 成绩: 一、选择题(每小题1分,共10分) 1.下列叙述中,不正确的是: 一个类可以不定义构造函数 一个类可以不定义析构函数 类的析构函数可以重载 类的构造函数可以重载 2.执行以下程序后,输出结果依次是: class test { int x; public: test(int a ){x=a;coutx”构造函数”;} ~test(){coutx”析构函数”;} }; void main() { test x(1);x=5;} A.1 构造函数 1 构造函数 5 析构函数 5析构函数 B.1 构造函数 5 构造函数 5析构函数 5析构函数 C.1 构造函数 5 析构函数 5 构造函数 5析构函数 D.1 构造函数 1 析构函数 5 构造函数 5析构函数 3.关于构造函数,以下正确的说法是 A.定义类的成员时,必须定义构造函数,因为创建对象时,系统必定要调用构造函数 B.构造函数没有返回值,因为系统隐含指定它的返回值类型为void C.无参构造函数和参数为缺省值的构造函数符合重载规则,因此这个类中可以含有这两种构造函数 D.对象一经说明,首先调用构造函数,如果类中没有定义构造函数,系统会自动产生一个不做任何操作的缺省构造函数 4.关于析构函数,以下说法正确的是( ) A.析构函数与构造函数的唯一区别是函数名前加波浪线~,因此,析构函数也可以重载 B.当对象调用了构造函数之后,立即调用析构函数 C.定义类时可以不说明析构函数,此时系统会自动产生一个缺省的析构函数 D.类中定义了构造函数,就必须定义析构函数,否则程序不完整,系统无法撤消对象 5.对于一个C++的类( ) A.只能有一个构造函数和一个析构函数 B.可有一个构造函数和多个析构函数 C.可有多个构造函数和一个析构函数 D.可有多个构造函数和多个析构函数 6.下列关于对象的描述不正确的是( )。 A.对象只能描述有形的东西 B.对象具有属性和服务两个主要因素 C.现实世界中的一切事物都可以看作对象,但只有在具体的系统中加以论述才有实际的意义 D.对象的属性是对象的静态特征,服务是动态特征,并且对象的属性只能由本对象的服务来操作 7.关于类的继承不正确的是( )。 A.引入类的继承目的就是为了代码重用,提高编程效率 B.子女有父母的特征是类的继承 C.子继父产业是类的继承 D.子类可以全部继承父类的属性和服务,也可部分继承父类的属性和服务 8.构造函数的功能是( )。 A.为类名分配存储空间 B.为类的实例分配存储空间 C.建立对象并初始化数据成员 D.建立对象并初始化成员函数 9.在下列函数中,( )不能重载。 A.成员函数 B.非成员函数 C.析构函数 D.构造函数 10. 类中定义的各个成员需要设置被访问的权限,以下给出的关键字中,( )不能用于限定成员的访问权限。 A.extern B.private C.protected D.public 二、填空题(每空1分,共16分) 1.构成对象的两个主要因素是 (1) 和 (2) ,其中 (3) 属于动态属性, 属于静态属性, (4) 只能由 (5) 来操作。 2.类是 (6) 的集合,分类的依据是 (7) 。 3.程序的三种基本的控制结构是; (8) 、 (9) void main() { int a,b,c,x; cina; cout攁=?aendl; cinb; cout分,”b=?bendl; cinc; cout ”c=”cendl; if (15) cout”the three numbers are equal,they are;aendl”; else { if(ab) x=a; else if (16) x=b; else cout攎e greatest number is;?x; e } ) 三、阅读程序题(每空2分,共30分) 1、根据程序回答问题:

文档评论(0)

1亿VIP精品文档

相关文档