( 密 封 线 内 不 答 题 ) ???????????????密??????????????????封???????????????线?????????????? 学院 专业 座位号 诚信应考,考试作弊将带来严重后果!
华南理工大学期末考试
《高级语言程序设计(2)》试卷A
注意事项:1. 考前请将密封线内各项信息填写清楚;
2. 所有答案写在答题纸上,答在其它地方无效; 3. 试卷可做草稿纸,试卷必须与答题纸同时提交;
4.考试形式:闭卷;
5. 本试卷共五大题,满分100分,考试时间120分钟。 一.单项选择题(每题2分,共20分)
1.在C++中,有关类和对象正确说法是( A )。
A.对象是类的一个实例 B.对象是类的存储空间
C.一个类只能有一个对象 D.类是程序包,对象是存储空间 2.在类定义中,称为接口的成员是( C )。
A. 所有类成员 B. private或protected的类成员 C. public的类成员 D. public或private的类成员 3. 一个类的友员函数能够通过( D )访问该类的所有成员。
A.静态数据 B.析构造函数 C.this指针 D.类对象参数
4. 下面描述错误的是( B )。
A.自定义构造函数应该是公有成员函数 B.构造函数可以是虚函数 C.构造函数在建立对象时自动调用执行 D.构造函数可以重载 5. 在类的继承关系中,基类的( B )成员在派生类中可见。 A. 所有 B. public和protected C. 只有public D. 只有protected 6.设B类是A类的派生类,有说明语句
A a, *ap; B b, *bp; 则以下正确语句是( C )。
A. a=b; B. b=a; C. ap=&b; D. bp=&a; 7.C++中,以下( D )语法形式不属于运行时的多态。 A. 根据if语句的求值决定程序流程 B. 根据基类指针指向对象调用成员函数
C. 根据switch语句的求值决定程序流程 D. 根据参数个数、类型调用重载函数
8. 假设对A类定义一个重载“+”号运算符的成员函数,以便实现两个A类对象的加法,并返回相加结果,则该成员函数的函数原型为( B )。 A.A operator +( const A &A1, const A &A2 ); B.A A:: operator +( const A &A2 ); C.A::operator +( A &A2 ); D.A A::operator +( ); 9. 一个类模板定义了静态数据成员,则( A )。
A.每一个实例化的模板类都有一个自己的静态数据成员。 B.每一个实例化的对象都有一个自己的静态数据成员。 C.它的类型必须是类模板定义的抽象类型。 D.所有模板类的对象公享一个静态数据成员。
10.读一个C++数据文件,要创建一个( A )流对象。
A.ifstream B.ofstream C.cin D.cout
1
_____________ ________ 姓名 学号
二.简答题(每小题4分,共20分)
1.有右图所示类格。类X中有数据成员int a。根据以下函数注释的编译信息,分析int X::a的访问特性,class Y对class X和class Z对class Y的继承性质。 void Y::funY() { cout<