东软信息学院C++高级编程期中试题解析

需积分: 9 6 下载量 86 浏览量 更新于2024-09-18 收藏 43KB DOC 举报
"C++高级编程考试试卷" C++是一门强大的面向对象编程语言,它具有丰富的特性和高级编程概念。这份东软信息学院08-09学年第二学期的期中试题,针对的是计算机系07级软件工程和计算机科学与技术专业的学生,主要考察他们的C++高级编程能力。 试卷分为三大题,包括填空题、选择题,总分为100分,考试时间为60分钟。填空题主要涉及了C++的构造函数、数组、继承的访问属性、动态内存管理和操作符重载等知识点。 1. 在C++中,当声明`Ax`时,如果`A`是一个自定义类型,那么使用的是默认构造函数(Default Constructor)。而`Ay=x;`中,`y`是通过拷贝构造函数(Copy Constructor)初始化的,因为这里涉及到对象的复制。 2. 数组类型的近似表示中,`inta[10]`近似于指针`int*`,`charb[10][20]`近似于二维指针`char(*)[20]`,`double *c[6]`近似于指针数组`double**`。 3. 继承的访问属性中,public继承保持基类成员的访问属性不变,所以基类的private成员在派生类中仍是private;protected继承下,基类的public成员在派生类中变为protected;而private继承下,基类的protected成员在派生类中变为private。 4. 动态内存管理部分,应填写如下: - `p = new int(100);` - `q = new double[100];` - `delete p;` - `delete[] q;` 5. 重载流插入运算符(<<)和流提取运算符(>>)的全局函数原型分别为: - `std::ostream& operator<<(std::ostream&, const A&);` - `std::istream& operator>>(std::istream&, A&);` 6. 在这些数据类型中,单个变量占用内存最大的是`double`。 选择题部分涉及了内存区域、函数重载、友元关系、赋值操作符和自定义运算符的定义等基础概念: 1. 静态变量`static int a;`分配在静态或全局区。 2. 函数重载不考虑返回类型,仅看参数列表,因此仅返回值类型不同不是重载。 3. 友元关系是单向的,不是对称的,也不是传递的。 4. 赋值操作符不支持链式赋值的右到左操作,`(a=b)=c;`是非法的。 5. 全局函数可以用于重载如`<<`这样的运算符。 这些题目全面覆盖了C++的关键概念,包括类、构造函数、内存管理、继承、操作符重载和类型特性,对于理解和提升C++编程技能至关重要。