杭州电子科技大学学生考试卷( )卷 考试课程 课 程 号 考生姓名 面向对象程序设计 教 师 号 学号(8位) 考试日期 年 月 日 任课教师姓名 年级 专业 成绩 座位号 B.类是创建对象的模板 C.类是抽象数据类型的实现 D.类是具有共同行为的若干对象的统一描述体 2. 下列关于构造函数的描述中,错误的是( )。 A.构造函数可以重载 B.构造函数名同类名 C.带参数的构造函数都具有类型转换作用 注意:答案直接写在答题纸上,答在试卷上无效,考试后答题纸和试卷一同上交 一、判断题(对的打“√”,错的打“×” )(每题1分,共计10分) 1. 2. 3. 4. 5. 6. 7. 8 9 10. 编译C++源程序时,出现了警告错(Warning)也可以生成可执行文件。 标识符规定大小写字母没有区别。 D.构造函数是系统自动调用的 数组中所有元素的类型都是相同的。 创建引用时要用一个同类型的变量进行初始化。 A.析构函数的函数体都为空 静态数据成员必须在构造函数的成员初始化列表中进行初始化。 B.析构函数是用来释放对象的 常数据成员在常成员函数中的值是不允许改变的,而在非常成员函数中是允许改变的。 C.析构函数是系统自动调用的 成员函数与一般函数一样可以重载和设置参数的默认值,但不能设置为内联函数。 D.析构函数是不能重载的 定义对象指针时也要调用构造函数。 派生类只继承基类中的公有成员和保护成员,而不继承私有成员。 A.静态成员都是使用static来说明的 静态联编和动态联编都是在编译时进行的,二者的区别仅是前者对非虚函数,后者对虚函B.静态成员是属于类的,不是属于某个对象的 数。 C.静态成员只可以用类名加作用域运算符来引用,不可用对象引用 D.静态数据成员的初始化是在类体外进行的 5. 下列关于友元函数的描述中,错误的是( )。 4. 下列关于静态成员的描述中,错误的是( )。 3. 下列关于析构函数的描述中,错误的是( )。 二、单项选择题(每题2分,总计20分) 1. 下列关于类的描述中,错误的是( )。 A.类就是C语言中的结构类型 A.友元函数不是成员函数 B.友元函数只可访问类的私有成员 C.友元函数的调用方法同一般函数 D.友元函数可以是另一类中的成员函数 6. void Set(A &a);是类A中一个成员函数的说明,其中A &a的含义是( )。 A.类A的对象引用a作该函数的参数 B.类A的对象a的地址值作函数的参数 C.表达式变量A与变量a按位与作函数参数 D.指向类A对象指针a作函数参数 7. 下列关于运算符new的描述中,错误的是( )。 A.它可以创建对象或变量 B.它可以创建对象数组或一般类型数组 C.用它创建对象或对象数组时要调用相应的构造函数 D.用它创建的对象可以不用delete运算符释放 8. 派生类的对象可以直接访问的基类成员是( )。 A.公有继承的公有成员 C.私有继承的公有成员 9. B.保护继承的公有成员 D.公有继承的保护成员 10. 下列的成员函数中,纯虚函数是( )。 A.virtual void f1() = 0 C.virtual void f1() {} B.void f1() = 0; D.virtual void f1() == 0; 三、程序填空题(每空2分,共计20分) 1. 实现下列求字符串长度的函数。 int strlen(char *str) { int len; ______①_______ while (*str) { _______②_______ _______③_______ } return len; } 2. 完成下列类的定义。 class test { private: int num; float x; public: test(int,float f); test(test&); ___ _④____ //析构函数 }; test::test(int n,float f) { num=n; ___ _⑤_ _ } 下列运算符中,不可以重载的是( )。 A.&& C.[ ] B.& D.:: 3. test::test(text& t) { ⑥ x=t.f1; } class point { int x, y; public: point(int X = 0, int Y = 0) { _______⑦_______ _______⑧_______ } double distance(point p) //计算两点间的欧氏距离 { _______⑨_______ } }; int main() { point p1, p2(3, 4); double dist; //dist用于存储p1和p2两点间的欧氏距离 _____⑩____ cout << dist << endl; //输出p1和p2两点间的欧氏距离 return 0; } print(a); print('a'); print(\} void print(int i) { cout< class Point { public: Point(int i,int j) { X=i; Y=j; } Point(Point &rp); ~Point() { cout<<\ } int Xcood() { return X; } int Ycood() { return Y; 四、阅读程序题(共计30分) 1. 阅读该程序,给出程序的输出结果。(5分) #include
相关推荐: