C++编程期末复习重点:面向对象与程序设计题库

版权申诉
0 下载量 72 浏览量 更新于2024-08-20 收藏 35KB DOC 举报
“电大面向对象程序设计期末复习题4及参考答案(经典复习考试题).doc” 这篇文档是针对电大学员的面向对象程序设计课程的期末复习资料,包含了多项选择题和一些编程概念的理解。这些题目主要涵盖了C++语言的基础知识,包括文件扩展名、逻辑运算、数组与指针操作、类与对象的访问控制、构造函数的调用、运算符重载以及内存管理等方面。 1. C++源程序文件编译后的目标文件默认扩展名为`.obj`,这表示编译器生成的中间文件,尚未链接成可执行程序。 2. `bool`类型的变量x和y进行逻辑与(`&&`)运算时,只有当两者都为真时结果才为真,即`x&&y`为真的条件是它们均为真。 3. 二维数组的定义中,选项C是正确的,因为它定义了一个三行未指定列数的数组,并初始化了前两行。 4. 在文件包含命令中,被包含文件的扩展名可以是`.h`或`.cpp`,这取决于文件类型,`.h`通常用于头文件,`.cpp`用于实现文件。 5. 语句`p=new int[10][20];`创建了一个10行20列的二维数组,因此`p`应定义为指向20个整数指针的指针,即`int(*p)[20];`。 6. 关键字`public`定义的成员是类的公共成员,可供类外部的代码访问。 7. 在类AA中,访问私有数据成员`a`的最好方式是在成员函数内部直接使用`AA::a`。 8. 队列遵循先进先出(FIFO)原则,即最早进入队列的元素最先离开。 9. 语句`AB a, b(3), *p;`创建了一个类AB的对象a,一个带参数的构造函数调用创建了b,并声明了一个指向AB类型的指针p,所以共调用了两次构造函数。 10. 重载一个运算符时,如果没有参数,表示这是一个一元运算符,且作为成员函数重载,因为成员函数运算符操作数通常是`this`指针。 其他补充知识点: 1. 当执行`cout << endl`时,输出流会移到下一行的开始位置。 2. 整型变量x除以y的结果是3,而将x转换为`double`后除以y的结果是`3.333333...`(浮点数形式)。 3. 字符串`"apple"`的长度(不包括结束的空字符`\0`)是5。 4. C++程序运行时的内存空间分为全局数据区、堆区、栈区和代码区。 5. 一维指针数组`a`中,`a+i`与`a`之间的地址差为`4*i`字节,因为每个指针占用4个字节(假设32位系统)。 6. 如果一个派生类只从一个基类继承,那么这种继承被称为单继承。 7. 类AA声明了一个指针`ab`,但没有初始化,所以`ab`目前是一个悬空指针,需要谨慎处理。