C++编程:阶段测试2复习重点

需积分: 9 0 下载量 182 浏览量 更新于2024-08-30 1 收藏 27KB DOCX 举报
"2020阶段测试2复习题STU答案.docx" 这份文档是针对2020年某个阶段的C++编程课程的复习题集,包含了多个选择题,涉及C++语言的关键概念,如类的构造函数、动态内存管理、派生类与基类之间的关系、虚基类的使用以及函数作用域和类的设计原则。 1. 题目描述了当执行`Stu array[2];`时,无参构造函数被调用的次数。在这个场景下,C++会为数组中的每个元素调用一次构造函数,因此,对于两个元素的数组,无参构造函数会被调用两次,答案是C、2。 2. 动态内存管理方面,题目指出D选项是正确的,即`delete`运算符只能释放由`new`分配的动态存储空间。这表明A选项错误,因为new可以分配长度为变量的内存;B选项错误,delete不能释放静态存储空间;C选项错误,new分配的内存通常是连续的。 3. 访问控制和继承问题中,D选项正确,表示在公用继承的情况下,派生类的对象可以通过`.`操作符直接访问基类的公共成员。其他选项描述了错误的访问权限或规则。 4. 派生类与基类的关系中,C选项是不正确的,因为派生类的对象不能直接访问基类的私有或保护成员,除非通过公有的接口。 5. 在类的动态对象数组中,A选项正确,即系统会自动调用无参构造函数进行初始化。 6. 虚基类的描述中,B选项是错误的,虚基类的构造函数应在非虚基类之前调用,以解决二义性问题。 7. 关于动态内存的释放,C选项正确,使用`new`分配的内存应通过`delete`来释放。 8. 变量的作用域方面,D选项不正确,函数内部定义的变量只在该函数内部有效。 9. 类的描述中,C选项错误,因为不同类不能使用相同的名称,以确保唯一标识。 10. 指针操作中,C选项正确,`p=&x`表示将指针p指向整型变量x的地址。 11. 如果没有定义构造函数,A选项正确,编译器会自动生成一个默认的无参构造函数。 这些题目覆盖了C++编程中的基础但重要的概念,包括对象的创建、内存管理、继承、访问控制、作用域规则以及类的设计原则。理解和掌握这些知识点对于深入学习C++至关重要。