【C】2010年东南大学计算机研究生复试笔试题----(卢孝勋)版 1、简答题(60分)
1、简述你对“面向对象”和“面向过程”编程思想的认识与思考 2、ADT是什么?简述你对“数据抽象”和“信息隐藏”的认识 3、const和static有什么作用? 4、友元关系的利与弊 5、C++多态的实现
6、STL是什么?组成部分和核心作用 2、程序设计题(90分)
1、输入n个十进制数转换成二进制写到文件,n是随机得到 2、写两个模板函数:插入排序法的迭代实现与递归实现
3、文件中有类似的一行行字符串“(010)(15012345678)|123|(430070)”,按以下格式输出: “区号| 电话号码| 城市编号| 邮编”
(具体的字符串格式记不清了,但就是考字符串的解析)
4、设计一个多项式类Polynomial(包括构造函数、复制构造函数、析构函数、赋值函数、 实现两个多项式相加)
5、几个类(Vehicle类 Car类 Streetwheel类 Brake类)有着必然的联系,设计类与实现 6、一个基类Shape,在基类的基础上继承写一个二维图形类,再继承写一个三维图形类, 设计与实现
2011年
一、简答题(共5 题,每题10 分)
1、 简述对C++中的数据类型和抽象数据类型(ADTs)的理解。
2、 请举例并写出相关代码,阐述C++在什么情况下必须进行运算符重载。 3、 为什么说“继承是C++面向对象的一个主要特征之一”,请做一下简要说明。 4、 如何声明和使用虚函数,说明它在多态性中的作用和意义。
5、 请说明函数模板(Function Template) 和函数模板实例化(function-template specification)的区别和联系。
二、编程题(共6 题,100 分)
3、 编写一个递归函数模板,从一个数组中找出最小值,并返回该值的数组元素下标。 (15’)
4、 编写两个函数 SortOne 和 SortTwo,分别对字符串数组实现插入排序和选择排序。 (15’)
5、 对于一个数组 Array 类的 chess 对象,通过调用运算符重载函数() ,可实现 chess(row,column)代替 chess[row][column],请完成:(1)、Array 类的基本定义,包 括构造函数、析构函数、拷贝构造函数和基本数据成员;(2)、运算符重载函数()的 定义。 (20’)
6、 定义一个具有多态性的基类Shape,派生出三个类:圆Circle(坐标点和半径),矩形 Rec 类(两点不同坐标),三角形 Tri 类(三个不同坐标),每个类中至少有一个计算面 积的函数。编写程序,从文件file.txt 中读取数据来创建各类的对象,并放在Shape 指针向量中,最后循环处理每个对象并输出面积。 (20’)
【假设file.txt 中的数据如下: C:123,5,40;T:1,2,32,50,60,3;R:6,8,8,100】
2012年 一.简答题
1.编写语句说明枚举类型是如何定义和使用的。
2.程序改错,如果有错,说明出错的地方,正确则给出输出。 (1)#include
for(int i=0;i<8;i++) {
if(i%2==0)
cout<
cout<<\ }
cout<<\ return 0; }
(2)#include
int c;
if((c=cin.get())!=EOF) {

