南昌大学c期末试卷1

上传人:pu****.1 文档编号:504269822 上传时间:2024-01-30 格式:DOC 页数:8 大小:67KB
返回 下载 相关 举报
南昌大学c期末试卷1_第1页
第1页 / 共8页
南昌大学c期末试卷1_第2页
第2页 / 共8页
南昌大学c期末试卷1_第3页
第3页 / 共8页
南昌大学c期末试卷1_第4页
第4页 / 共8页
南昌大学c期末试卷1_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《南昌大学c期末试卷1》由会员分享,可在线阅读,更多相关《南昌大学c期末试卷1(8页珍藏版)》请在金锄头文库上搜索。

1、 南昌大学 20042005学年第 一 学期期 末 考试试卷 试卷编号: ( A )卷课程名称:面向对象程序设计 适用班级: 本科2002级 姓名: 学号: 班级: 专业:计算机应用技术 学院: 信息工程学院 系别:计算机科学与技术系 考试日期:2005.1.10 试卷编号: ( )卷课程名称: 适用班级: 姓名: 学号: 班级: 专业: 学院: 系别: 考试日期: 题号一二三四五六七八九十总分累分人 签名题分2020202020 100得分一、 选择题(每题2分,共20分) 得分评阅人 1、友元的作用是( )A 提高程序的运行效率;B加强类的封装性;C 实现数据的隐藏性;D增加成员函数的种类

2、。2、已知:类A中一个成员函数说明如下:void Set( A& a );其中,A& a的含义是( ):A 指向类A的指针为a;B 将a的地址值赋给变量Set;C a是类A的对象引用,用来作函数Set()的形参;D 变量A与a按位与作为函数Set()的参数。3、设置虚基类的目的是( )A 简化程序;B 消除二义性;C 提高运行效率;D 减少目标代码。4、关于纯虚函数和抽象类的描述中,( )是错误的。A 纯虚函数是一种特殊的虚函数,它没有具体的实现;B 抽象类是指具有纯虚函数的类;C 一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类;D 抽象类只能作为基类来使用,其纯虚函数的实现由派生类

3、给出。5、下列函数中,( )不能重载。A 成员函数;B 非成员函数;C 析构函数;D 构造函数。6、下列类声明程序段正确的是( )A class figurepublic:figure();figure(int have_drawn); B class linepublic:int is_on_line(int x, int y);private:int start_x = 0, start_y =0;C class pointpublic:int get_x();int get_y();private:int x,y;;D class circlepublic:circle(int x =

4、0,int y = 0,int radius = 0);circle();private:int atom_x, atom_y;auto int radius;7、在C+中,以下关于设置参数默认值的函数中,错误的是( )A void func(int a, int b);B void func(int a = 3, int b = 4);C void func(int a = 3, int b); D void func(int a, int b = 4);8、假定AB为一个类,则执行“AB a(4),b5,*p2:”语句时,自动调用该类构造函数的次数为( )。A6B7C9D119、假定要对类

5、AB定义“+”操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,该成员函数的声明语句为( )。AAB operator+(ABa,ABb); B. AB operator+(ABa);C. operator+(AB a); D. ABoperator+();10、分析下列程序段,以下几种说法中正确的是( )。class Apublic:virtual void f();class Bpublic:virtual void f();virtual void g();class C: public A,public Bpublic:void f();假设有指针pa、pb和pc说明如下:

6、A* pa;B* pb;C* pc;C c;pa = &c; pb = &c; pc = &c;pa-f();pb-f();pc-f();Apa-f();pb-f();pc-f();都将实际调用C中的f();Bpa-f();pb-f();pc-f();都将实际调用A中的f();Cpa-f();pb-f();pc-f();分别实际调用A:f()、B:f()、C:f()Dpa-f();pb-f();pc-f();分别实际调用C:f()、B:f()、A:f()二、判断题(每题2分,共20 分) 得分评阅人 1、()调用系统函数时,要先将该系统函数的原型说明所在的头文件包含进去。2、()返回值类型、参

7、数个数和类型都相同的函数也可以重载。3、()使用class关键字定义的类中缺省的访问权限是私有的(private)。4、()析构函数是一种函数体为空的成员函数。5、()可以在类的构造函数中对静态数据成员进行初始化。6、()使用new建立一个动态对象时自动调用构造函数。7、()在建立对象时为每个对象的数据和代码同时分配内存。8、()单继承情况下,派生类中对基类成员的访问也会出现二义性。9、()对每个可重载的运算符来讲,它既可重载为友元函数,又可重载为成员函数。10、()类属类实例化创建的结果是一个对象。三、 写出以下各程序的运行结果(每题5分,共20分)得分评阅人 1、#include clas

8、s FOOpublic:FOO( ) cout“constructing.n”;FOO(const FOO& other ) cout“copy constructing.n”;FOO( ) cout“destructing.n”;FOO get_object( )FOO obj;return obj;void main( )FOO obj;obj = get_object( );2、#include class Countpublic:Count()count+;static int HM()return count;Count()count;private:static int count

9、;int Count:count = 100;void main()Count c1,c2,c3,c4;coutCount:HM()endl;3、#include class Bpublic:B()x = y = 0; cout“default constructor called.n”;B(int i)x = i; y = 0; cout“constructor1 called.n”;B(int i,int j)x = i; y = j; cout“constructor2 called.n”;B()cout“destructor called.n”;void print()cout“x=”

10、x“,y=”yendl;private:int x,y;void main()B* ptr;ptr = new B3;ptr0 = B();ptr1 = B(5);ptr2 = B(2,3);for(int i = 0;i3;i+)ptri.print();delete ptr;4、#include class Bpublic:B(int i)b = i + 50; show();B() virtual void show()cout“B:show() called”bendl;protected:int b;class D : public Bpublic:D(int i):B(i)d =

11、i+100;show();D()void show() cout“D:show() called”dendl;protected:int d;void main()D d1(108);四、 程序分析题(每题5分,共20分)得分评阅人 1、有以下程序:#include void main()cout“Hello ,everyone!n”;修改该程序(但不允许对main()作任何修改),使该程序能输出:Hi, I am comingHello,everyone!Thanks!Goodbye!2、请修改以下程序的错误,使得程序可以连续五次输出字符串string#include void main()char string30 = “Nanchang Universityn”;char* ptr = string;for(int loop = 0; loop= 4; loop+1)while (*ptr)cout*ptr;ptr = ptr + 1;3、分析下列程序并回答问题#include class A

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号