东南大学2010-2014年考研复试c++笔试题汇总
【C】2010年东南大学计算机研究生复试笔试题----(卢孝勋)版
1、简答题(60分)
1、简述你对“面向对象”和“面向过程”编程思想的认识与思考
2、ADT是什么?简述你对“数据抽象”和“信息隐藏”的认识
3、const和static有什么作用?
4、友元关系的利与弊
5、C++多态的实现
6、STL是什么?组成部分和核心作用
2、程序设计题(90分)
1、输入n个十进制数转换成二进制写到文件,n是随机得到
2、写两个模板函数:插入排序法的迭代实现与递归实现
3、文件中有类似的一行行字符串“(010)(150********)|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
using namespace std;
int main()
{
for(int i=0;i<8;i++)
{
if(i%2==0)
cout<
if(i%3==0)
continue;
if(i%5==0)
break;
cout<<"End of programming\n";
}
cout<<"End of programming\n";
return 0;
}
(2)#include
using namespace std;
int main()
{
int c;
if((c=cin.get())!=EOF)
{
main();