2016-2017学年江苏理工学院C++面向对象编程期末试卷精华

需积分: 10 2 下载量 157 浏览量 更新于2024-09-08 收藏 380KB PDF 举报
本资源是一份面向计算机科学与技术、网络工程专业2015级学生的《面向对象程序设计》期末试卷,旨在评估学生对C++语言和面向对象编程的理解程度。试卷分为两大部分:判断题和选择题,共计15个小题,总分100分,考试时间120分钟。 **一、判断题** 这部分包含了5道题目,主要考察基础概念的理解。例如: 1. 问题1指出基类和对象成员的构造顺序,并指出这是错误的观点,因为派生类构造函数会先执行。 2. 题目2强调基类不会自动继承派生类的所有特征,只有通过继承才能获得。 3. 题目3验证了默认构造函数的存在,当没有显式指定构造函数时,系统会提供一个默认构造函数。 4. 题目4确认了模板技术在C++中的作用,即通过模板实现通用代码,提高代码复用性。 5. 题目5涉及虚函数的概念,正确指出通过基类指针或引用调用派生类的虚函数是实现运行时多态的关键。 **二、选择题** 这部分有5道题目,涵盖了析构函数、常对象、this指针、构造函数调用顺序以及运算符重载等知识点: 1. 选择题1考查析构函数的定义,正确的选项是`C.virtual~A();`,因为虚拟析构函数允许动态绑定。 2. 题目2涉及常对象,说明常对象并非必须有常数据成员,可以初始化一次,但不是必须的,且能访问所有成员函数。 3. 题目3考察this指针,正确答案是B,类的所有成员函数都会隐含地使用this指针。 4. 在构建C类对象时,由于继承关系,构造函数调用顺序是`B().A().C()`,选项B正确,先调用基类B的构造函数,再调用A类的构造函数,最后调用C类自身的构造函数。 5. 最后一道题目涉及运算符重载,由于表达式中的`++`和`/`被重载,正确的表示方法是`A.operator/(operator++(i,0),k)`,其中`operator++`表示自增运算符的重载版本。 这份试卷覆盖了C++语言的关键概念,包括类、对象、构造与析构、多态性、模板、this指针和运算符重载,适合用于检验学生在面向对象编程方面的理论知识和实践能力。通过解答这些问题,学生不仅可以复习课堂内容,还能加深对C++语言的理解。