信计专业面向对象程序设计模拟题_第1页
信计专业面向对象程序设计模拟题_第2页
信计专业面向对象程序设计模拟题_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信计专业面向对象程序设计模拟题一、填空题(每空2分,共20分)1类的成员的可访问性可分为三类:、。答案:public、protected、private析构函数在对象的时被自动调用,全局对象和静态对象的析构函数在调用。答案:生命期结束main函数运行结束之后要在类的对象上使用运算符,除了运算符和外,都须被重载2. 运算new分配的内存要用运算符回收。答案:delete参数表示重载后缀+运算符函数。答案:int联编是指将函数调用与相应函数体代码彼此关联的过程。若此过程在程序开始运行前的编译时完成,则称之为联编。静态或早期7在说明引用时用const修饰的引用为常引用,它所引用的对象不允许更改。8.

2、 一个非成员函数必须声明为一个类的friend才有可能存取该类的私有数据成员。9、类和对象的关系可表述为:类是对象的抽象,而对象则是类的实例。二、单项选择题(10小题,每小题2分,共20分)每小题列出的选项中只有一个是正确的,请选择正确的选项前的字母填在题后的括号内1. 关于虚函数,正确的描述是(A)A)构造函数不能是虚函数B)析构函数不能是虚函数C)虚函数可以是友元函数D)虚函数可以是静态成员函数类的构造函数的作用是(C)A)一般成员函数B)类的初始化C)对象的初始化D)删除对象有关运算符重载正确的是(D)A)C+语言允许在重载运算符时改变运算符的操作个数B)C+语言允许在重载运算符时改变运

3、算符的优先级C)C+语言允许在重载运算符时改变运算符的结合性D)C+语言允许在重载运算符时改变运算符的原来的功能可以被对象之外访问的成员是(B)A)私有成员函数B)公有成员函数C)常量成员函数D)所有成员函数类的析构函数的作用是(D)A)一般成员函数B)类的初始化C)对象的初始化D)删除类创建的所有对象什么样的成员函数不能修改数据成员?(C)A)私有成员函数B)公有成员函数C)常量成员函数D)所有成员函数下面关于对象概念的描述中,错误的是(C)。A对象就是C语言中的结构变量B对象代表着正在创建的系统中的一个实体C对象是一个属性和操作(或方法)的封装体D对象之间的信息传递是通过消息进行的下面关于

4、类概念的描述中,错误的是(D)。A类是抽象数据类型的实现B类是具有共同行为的若干对象的统一描述体C类是创建对象的样板D类就是C语言中的结构体类型面向对象程序设计思想的主要特征中不包括(A封装性B多态性C继承性D功能分解,逐步求精10、在函数的返回值类型与返回值表达式的类型的描述中,错误的是(B)。A函数返回值的类型是在定义函数时确定,在函数调用时是不能改变的B函数返回值的类型就是返回值表达式的类型C函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成返回值类型D函数返回值类型确定了返回值表达式的类型三、阅读并分析下列程序,写出程序运行结果(共6小题,每小题6分,共36分)阅读下列程序

5、,分析程序的输入(如果有)、运行过程及功能,写出程序的输出结果1.#include<iostream.h>classMyclasspublic:Myclass(intx,inty)A=x;B=y;Sum+=A+B;voidPrintNum()cout<<"Number="<<A<<","<<B<<endl;voidPrintSum()cout<<"Sum="<<Sum<<endl;private:intA,B;staticint

6、Sum;intMyclass:Sum=0;intmain()MyclassA(2005,12),B(12,26);A.PrintNum();B.PrintNum();B.PrintSum();2.#include<iostream.h>classApublic:A()a=0;cout<<"A'sdefaultconstructorcalled.n"A(inti)a=i;cout<<"A'sconstructorcalled.n"A()cout<<"A'sdestructor

7、called.n"voidPrint()constcout<<a<<","intGeta()returna;private:inta;classB:publicApublic:B()b=0;cout<<"B'sdefaultconstructorcalled.n"B(inti,intj,intk):A(i),aa(j)b=k;cout<<"B'sconstructorcalled.n"B()cout<<"B'sdestructorc

8、alled.n"voidPrint()A:Print();cout<<b<<","<<aa.Geta()<<endl;private:intb;Aaa;voidmain()Bbb;bb=B(05,12,26);bb.Print();3.#include<iostream.h>classShapepublic:virtualdoubleArea()return0;virtualvoidprint()=0;classRectangle:publicShapepublic:Rectangle(doubleh,d

9、oublew)H=h;W=w;doubleArea()returnH*W;voidprint()cout<<"RectangleArea:"doubleH,W;classCircle:publicShapepublic:Circle(doubler)R=r;doubleArea()return3.14*R*R;voidprint()cout<<"CircleArea:"doubleR;voidPrintArea(Shape&s)s.print();cout<<s.Area()<<endl;intma

10、in()RectangleRec(6.0,7.0);CircleCir(10.0);PrintArea(Rec);PrintArea(Cir);4.#include<iostream.h>voidfun()staticinta=2;intx(3);cout<<(a+=5,a+x)<<','intmain()fun();fun();fun();fun();fun();5.#include<iostream.h>classTestBpublic:TestB(inta1,inta2)v0=a1;v1=a2;int&operato

11、r(intbi);private:intv2;Badsubscript!n”;exit(1);"Begin:v1="<<v1<<endl;"End:v1="<<v1<<endl;int&TestB:operator(intbi)if(bi<0|bi>=2)cout<<returnvbi;intmain()TestBv(11,22);cout<<v1=33;cout<<return0;6.#include<iostream.h>classAp

12、ublic:A(inta,intb):x(a),y(b)cout<<"Aconstructor."<<endl;voidAdd(inta,intb)x+=a;y+=b;voiddisplay()cout<<"("<<x<<","<<y<<")"A()cout<<"destructorA."<<endl;private:intx,y;classB:privateAprivate:inti,j

13、;AAobj;public:B(inta,intb,intc,intd):A(a,b),i(c),j(d),Aobj(1,1)cout<<"Bconstructor."<<endl;voidAdd(intx1,inty1,intx2,inty2)A:Add(x1,y1);i+=x2;j+=y2;voiddisplay()A:display();Aobj.display();cout<<"("<<i<<","<<j<<")"<&

14、lt;endl;B()cout<<"destructorB."<<endl;intmain()Bb(1,2,3,4);b.display();b.Add(1,3,5,7);b.display();return0;7.#include<iostream.h>classABCinta,b,c;public:ABC(intx,inty,intz):a(x),b(y),c(z)friendostream&operator<<(ostream&out,ABC&f);ostream&operator<

15、<(ostream&out,ABC&f)out<<"a="<<f.a<<endl<<"b="<<f.b<<endl<<"c="<<f.c<<endl;returnout;intmain()ABCobj(10,20,30);cout<<obj;return0;8.#include<iostream.h>classSampleintA;staticintB;public:Sample(i

16、nta)A=a,B+=a;staticvoidfunc(Samples);;voidSample:func(Samples)coutvv"A="vvs.Avv",B="v<Bvvendl;intSample:B=0;intmain()Samples1(2),s2(5);Sample:func(s1);Sample:func(s2);四、程序设计题(共3小题,每小题8分,共24分)。1、照要求设计一个类并完成下面的功能。classStudentpublic:Student(intid,char*pName);Student();/拷贝构造函数private:intm_nld;char*m_pStrName;;在上面类的声明的横线处填写拷贝构造函数的声明。并在该类的实现文件中写出构造函数和拷贝构造

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论