青岛农业大学2018级信计计本面向对象程序设计试题A

上传人:亦*** 文档编号:252667417 上传时间:2022-02-11 格式:DOCX 页数:8 大小:15.75KB
返回 下载 相关 举报
青岛农业大学2018级信计计本面向对象程序设计试题A_第1页
第1页 / 共8页
青岛农业大学2018级信计计本面向对象程序设计试题A_第2页
第2页 / 共8页
青岛农业大学2018级信计计本面向对象程序设计试题A_第3页
第3页 / 共8页
青岛农业大学2018级信计计本面向对象程序设计试题A_第4页
第4页 / 共8页
青岛农业大学2018级信计计本面向对象程序设计试题A_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《青岛农业大学2018级信计计本面向对象程序设计试题A》由会员分享,可在线阅读,更多相关《青岛农业大学2018级信计计本面向对象程序设计试题A(8页珍藏版)》请在金锄头文库上搜索。

1、任课教师匡桂娟教研室主任签名教学院长签名成 绩 统 计 表题号*四五六合计得分考生姓名:学号 专业班级说明:考试时间120分钟,所有题目答案写在答题纸上。一、选择题:(15分)1. 已知函数F1调用F2,若把这两个函数定义在同一个文件中,则()A. F1必须定义在F2之前B. F2必须定义在F1之前C. 若F1定义在F2之后,则F1的原型必须出现在F2的定义之前D. 若F2定义在F1之后,则F2的原型必须出现在F1的定义之前2. 在 C+中,cout 是个()。A. 类 B,对象 C.模板 D,函数3. 下列符号中不属于C+关键字的是()A. friend B. main C. sizeof

2、D. Return4. 下面操作不能够定义一个常变量的是()A. const int buffer=256;B. int const buffer=256C. double * const point;D. const double *point;5. 关于类的数据成员的描述不正确的是()A. 类的数据成员的类型可以是任意的,另外一个类的对象可以作为该类的成员。B. 当另外一个类的对象作为成员,且类的定义在该类后面,则需要提前说明。C. 类内可以进行数据成员初始化。D. 类的数据成员的初始化工作应该通过构造函数来完成。6. 假定要对类complex定义加号操作符重载成员函数,实现两个compl

3、ex类对象的加法,并返回相加结果,则该成员函数的声明语句为()。A. complex operator+( complex a , complex & b)B. complex operator+( complex & a)C. operator+( complex a)D. C & operator+()7. 用于类中虚成员函数说明的关键字是()。A. public B. static C. virtual D. inline8. 下列情况中,不会调用拷贝构造函数的是()A. 用一个对象去初始化同一类的另一个新对象时B. 将类的一个对象赋值给该类的另一个对象时C. 函数的形参是类的对象,调用

4、函数进行形参与实参结合时D. 函数的返回值是类的对象,函数执行返回调用时9. 对于友元描述错误的是()A. 友元是本类的成员函数B. 友元不仅可以是一般函数,还可以是另外一个类的成员函数C. 友元函数在使用它的类中被声明D. 友元能直接访问本类私有成员10. C+类体系中,不能被派生类继承的有()。A.析构函数B.虚函数C.静态成员函数D.赋值操作函数11. 有如下类定义和变量定义:class Time(public:Time() (hour=0;minute=0;sec=0;int Gethour() const(return hour;)void Settime(int h,int m,i

5、nt s)(hour=h;minute=m;sec=s;private:int houcminuteec;const Time a(10,10,10); Time b;下列函数调用中错误的是()A.a.Settime(10,10z10);B. a.Gethour(); C.b.Gethour(); D. b.Settime(10,10,10);12. class Myclassprivate:int id;char gender;char *phone;public:Myclass():id(0),gender(/#,),phone(NULL)(Myclass(int no,char ge=#

6、,char *ph=NULL)(id=no;gender=ge;phone=ph;)则下列类对象定义语句中错误的是()。A. Myclass myobj;B. Myclass myobj(ll,13301111155);C. Myclass myobj(12/m,);D. Myclass myobj(12);13. 有如下类定义:class Bpublic:void funl()(private:void fun2()protected:void fun3();class D:public Bprotected:void fun4()(););若obj是类D的对象,则下列语句中不违反访问控制权

7、限的是()。A. obj.funl();B. obj.fun2();C. obj.fun3();D. obj.fun4();14. 要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是()A. ifstream fin=ifstream.open(,file.dat);B. ifstream fin=new ifstream (file.dat);C. ifstream fin;fin.open(file.dat);D. ifstream fin=new ifstream(); fin-open(file.dat);15, 有如下程序:#include using n

8、amespace std;class Baseprotected:Base()cout#;Base(char c)(coutc;);class Derived: public Base(public:Derived(char c)(coutc;);int main()Derived dl(*);return 0;执行结果A.* B.*#C.#*D.*二、填空题,按照括号中的序号顺序写答案(10分)1 C+中的类有两种用法:一种是类的实例化,即生成(1)类对象,并参与系统的运行;另一种是通过继承派生了新的类。2 建立对象时,系统只给对象中的数据成员分配内存,成员函数在内存中有(2)个副本3 用c

9、lass定义的类,如果不作private或者public声明,系统将其成员访问属性默认定为(3) 。4 不同的对象使用的是同一个函数代码段,它是通过(4)指针指向的不同对象。5 写出类Student的析构函数名为(5)。6 Myclass cl,*c2;Myclass *c3=new Myclass;Myclass &c4=cl;上述语句序列所定义的类对象的个数是询_个7 写出删除对象数组Student s10的delete语句(7)。8 class Test(public:Test()(i+;)static int i;int (8) =0;/对静态变量i进行初始化void main()Te

10、st a;couti;Test b;Test c;couti;则程序运行输出结果为:(9)9. 如果一个类至少有一个(10),那么该类称为抽象类。三、判断题(10分)1. 不同对象可以调用相同名称的函数,但可以导致完全不同的行为的现象称为多态。2.在一个类中定义了全部默认参数的构造函数后,还可以再重定义重载函数。3. C+中编程的基本单位是函数。4. 为了避免在调用成员函数时修改对象中的任何数据成员,在定义该成员函数时,可以在函数头部的后面加上const关键字。5. 对象在被释放时会自动执行析构函数,如果用户没有定义析构函数,编译系统会自动生成一个。6. 类Student的两个构造函数Stud

11、ent()和Student() const是两个重载的构造函数。7. 某个类的友元函数不仅可以是一般函数,还可以是另一个类中的成员函数。8. 在面向对象程序设计中,继承机制解决了软件重用问题。9. 基类对象可以代替派生类对象向派生类对象的引用进行赋值。10. 建立对象时,为节省内存,系统只为对象中的数据成员分配内存。四、简答题(15分)1. 谈一下你对面向对象程序设计的四个特点的理解。(10分)2. 请写一下你在学习本门课程不同章节时的体会、遇到的困难以及你认为好的学习方法(5分)。五、程序分析题(25分)1. 阅读程序,指出程序中存在的错误(6分)#includeusing namespac

12、e std;void main()(int x=3;const int y=5;int z=&x;z =&y;y=6;cout*pyendl;)2. 分析题目中是否有错误,若有请改正并写出程序结果,如果没有错误,请直接写出结果,并分析程序中语句fa;的作用(6分)#include using namespace std;class fprivate:int x,y;public:void fl(int m, int n=0)(x=m;y=n;print()(coutx #yendl;);void main()(f a;分析执行该语句的作用a.fl(l);a.print();3. 声明一个Stu

13、dent类,再由此派生出Graduate类,声明一个Graduate类的对象,观察基类与派生类的构造函数与析构函数的调用顺序,写出依据的知识点。(5分)#includeusing namespace std;class Student public: Student ()默认构造函数 coutStudents constructorendl; )-Student () coutStudentsdestucorendl; );class Graduate :public Student public: Graduate ()coutGraduatesconstructorendl; -Gradu

14、ate ()coutGraduates destructorendl; );int main() Graduate g; return0;)4. 写出下面程序的运行结果,写出分析过程。(6分)#includeusing namespace std;class Aint a;public:A():a virtual void print() const(couta;class B:public Achar b;public:B()b=D;void print()const(coutb;void show(A &X)(X.printO;int main()(Adl,*p; Bd2;p=&d2;dl.print(); d2.print(); p-print();show(dl); show(d2); return 0;六、编程题目:(25分)编写一个基于对象的程序,求三个长方形的面积:

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

最新文档


当前位置:首页 > 大杂烩/其它

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