一、简答题(120 分,每题 15 分)
1. 什么是“else 摇摆问题”,举例说明
2. 面向对象程序“接口与实现方法分离”原则有什么优点
3. 列出所有跟字符与字符串处理有关的头文件
4. 运算符重载的目的是什么?它有什么限制条件
5. 什么是递归函数?请用 C++实例详细叙述
6. 什么是虚函数?它有什么作用
7. 什么是纯虚函数?它有什么作用
8. 函数模板和函数重载的区别与联系
二、编程题(30 分)
从文件读入一个字符串,对其进行奇偶排序,使字母都按顺序排列。
奇偶排序:每个奇数的字符开始,依次比较,若 a[i-1]>a[i]或者 a[i]>a[i+1]则交换;
再从偶数的字符开始,如此循环往复,直至交换完毕。