杭州电子科技大学学生考试卷(A)卷 考试课程 面向对象程序设计 考试日期 06年6月日 成绩 课程号 B1002100 教师号 任课教师姓名 楼永坚 考生姓名 学号(8位) 年级 05 专业 050511/2/3 座位号 判断题(15分)(对的打√,错的打╳) 友元函数用于允许一个函数访问不相关类的私有部分。 构造函数可以被继承。 动态绑定的多态性是通过虚函数实现的。 在c++中,传引用调用等同于传地址调用。 重载函数必须有不同的参数列表。 可以用delete释放不是用new运算符分配的内存。 类成员的默认访问模式是private。 在类Time中的析构函数可以声明为:void ~Time(int); const对象必须初始化。 在c++中,只能重载已有的运算符。 二、选择题(20分) 1. 关键字____________ 说明对象或变量初始化后不会被修改。 a. static b. public c. const d. inline 2. 如果调用带有默认参数的函数时缺少一个参数,则______________参数就作为这一参数。 a. 第一个 b. 最后一个 c. 中间一个 d. 以上都不是 3. 成员函数可声明为静态的,条件是它不访问__________类成员。 a. 静态 b. 常数 c. 非静态 d. 公共 4. 内联函数执行起来比标准函数_______________。 a. 更慢 b. 更快 c. 次数更多 d. 以上都不是 5. 默认参数的值由________提供。 a. 该函数 b. 调用程序 c. 上述二者 d. 以上都不是 6. 在 C++ 中,混合类型表达式_____________。 a. 允许存在 b. 为一错误 c. 从 int 到 float d. 从 float 到 int 7. 表达式 long(intVar) 也可表示为_______________。 a. intvar = long; b. intVar(long) c. (long)intVar d. 以上都不是 8. 静态数据成员的生存期_________________。 a. 与整个程序相同 b. 不长于类的生存期 c. 取决于创建的对象数 d. 以上都不是 9. 要让一个类中的所有对象具有共同的数据,请使用__________________。 a. 常数成员变量 b. 私有数据成员 c. 静态数据成员 d. 以上都是 10. 设置虚基类的目的是:
三、指出下列程序片段中的错误标号,写出正确语句或解释错在何处。(20分) ①int index=675; ②const int *ptr=&index; ③int *const ntptr=&index; ④*ptr=555; ⑤*ntptr=666; ⑥int another=8; ⑦ptr=&another; ⑧ntptr=&another; ①int arrp; ②arrp=new int[15]; ③delete arrp; 3)下面程序为什么会编译错误,并改正错误(提出解决办法)。 class window { protected: int basedata; }; class border: public window { }; class menu: public window { }; class border_and_menu: public border, public menu { public: int show() { return basedata; } 4)改正下面程序段中的错误,写出整个正确的程序段 template<T> void print(T *a) { cout<<a<<’\n’;} void main( ) { const int x=0; cout<<y<<’\n’; int y; x=5; int* p p=&y; print(p); return 0; } 四、写出下面程序的执行结果:(15分) 1)#include <iostream> using namespace std; class A {friend double count(A&); public: A(double t, double r):total(t),rate(r){} private: double total; double rate; }; doubl