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

下载本文档

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

文档简介

1、如有帮助欢迎下载支持信计专业面向对象程序设计模拟题一、填空题 (每空 2 分,共 20 分 )1、类的成员的可访问性可分为三类:、。答案: public、protected、private2、析构函数在对象的时被自动调用,全局对象和静态对象的析构函数在调用。答案:生命期结束main函数运行结束之后3. 要在类的对象上使用运算符,除了运算符和外,都须被重载4. 运算 new分配的内存要用运算符 _ 回收。答案: delete5. 参数 _ 表示重载后缀 + 运算符函数。答案: int6. 联编是指将函数调用与相应函数体代码彼此关联的过程。若此过程在程序开始运行前的编译时完成,则称之为联编。静态或

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

3、对象3. 有关运算符重载正确的是(D )A) C+语言允许在重载运算符时改变运算符的操作个数B) C+语言允许在重载运算符时改变运算符的优先级C) C+语言允许在重载运算符时改变运算符的结合性D) C+ 语言允许在重载运算符时改变运算符的原来的功能4. 可以被对象之外访问的成员是(B )A) 私有成员函数B)公有成员函数C) 常量成员函数D) 所有成员函数5.类的析构函数的作用是(D )A) 一般成员函数B) 类的初始化C)对象的初始化D) 删除类创建的所有对象6.什么样的成员函数不能修改数据成员?(C )A) 私有成员函数B) 公有成员函数C)常量成员函数 D) 所有成员函数7、下面关于对象

4、概念的描述中,错误的是(C)。A 对象就是 C 语言中的结构变量B 对象代表着正在创建的系统中的一个实体C 对象是一个属性和操作(或方法)的封装体D 对象之间的信息传递是通过消息进行的8、下面关于类概念的描述中,错误的是(D)。A 类是抽象数据类型的实现B 类是具有共同行为的若干对象的统一描述体C 类是创建对象的样板D 类就是 C 语言中的结构体类型9、面向对象程序设计思想的主要特征中不包括(D)。1如有帮助欢迎下载支持A封装性B多态性C继承性D功能分解,逐步求精10、在函数的返回值类型与返回值表达式的类型的描述中,错误的是(B )。A 函数返回值的类型是在定义函数时确定,在函数调用时是不能改

5、变的B 函数返回值的类型就是返回值表达式的类型C 函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成返回值类型D 函数返回值类型确定了返回值表达式的类型三、阅读并分析下列程序, 写出程序运行结果 (共 6 小题,每小题6 分,共 36 分)阅读下列程序,分析程序的输入(如果有)、运行过程及功能,写出程序的输出结果.1.#include class Myclass public:Myclass(int x, int y)A=x; B=y;Sum+=A+B;void PrintNum() coutNumber=A,Bendl; void PrintSum() coutSum=Sumen

6、dl;private:int A, B;static int Sum;int Myclass:Sum=0;intmain()Myclass A(2005,12), B(12,26); A.PrintNum();B.PrintNum();B.PrintSum();2.#include class Apublic:A()a=0; coutAs default constructor called.n;A(int i)a=i; coutAs constructor called.n;A()coutAs destructor called.n;void Print() const couta,;int

7、 Geta() return a;private:int a;class B:public Apublic:B()b=0; coutBs default constructor called.n;B(int i,int j,int k): A(i), aa(j)2如有帮助欢迎下载支持b=k;coutBs constructor called.n;B()coutBs destructor called.n;void Print()A:Print();coutb,aa.Geta()endl;private:int b;A aa;void main()B bb;bb=B(05, 12, 26);bb

8、.Print();3.#include class Shapepublic:virtual double Area() return 0;virtual void print()=0;class Rectangle: public Shape public:Rectangle(double h, double w) H=h; W=w;double Area() return H*W; void print() coutRectangle Area:;double H,W;class Circle: public Shapepublic:Circle(double r) R=r;double A

9、rea() return 3.14*R*R; void print() coutCircle Area:;double R;void PrintArea(Shape & s)s.print();couts.Area()endl;intmain()Rectangle Rec(6.0,7.0); Circle Cir(10.0);3如有帮助欢迎下载支持PrintArea(Rec);PrintArea(Cir);4.#include void fun()static int a=2;int x(3);cout(a+=5,a+x),;intmain()fun(); fun(); fun();fun()

10、; fun();5.#includeclass TestB public:TestB(int a1,int a2) v0=a1;v1=a2;int& operator (int bi);private: int v2;int& TestB:operator(int bi) if (bi=2) cout“Bad subscript!n” ;exit(1); return vbi;int main ( ) TestB v(11,22); coutBegin:v1= v1endl;v1=33;coutEnd:v1= v1endl;return 0;6.#includeclass Apublic:A(

11、int a,int b):x(a),y(b) coutA constructor.endl; void Add(int a,int b) x+=a;y+=b;void display() cout(x,y);A()coutdestructor A.endl;private:int x,y;class B:private Aprivate:int i,j;A Aobj;4如有帮助欢迎下载支持public:B(int a,int b,int c,int d):A(a,b),i(c),j(d) ,Aobj(1,1)coutB constructor.endl;void Add(int x1,int

12、y1,int x2,int y2)A:Add(x1,y1);i+=x2; j+=y2;void display()A:display();Aobj.display();cout(i,j)endl;B()coutdestructor B.endl;int main()B b(1,2,3,4);b.display();b.Add(1,3,5,7);b.display();return 0;7.#includeclass ABCint a,b,c;public:ABC(int x,int y,int z):a(x),b(y),c(z)friend ostream &operator(ostream

13、&out,ABC& f);ostream &operator(ostream &out,ABC& f)outa=f.aendlb=f.bendlc=f.cendl; return out;int main()ABC obj(10,20,30);coutobj;return 0;8.#includeclass Sampleint A;static int B;public:5如有帮助欢迎下载支持Sample(int a)A=a,B+=a;static void func(Sample s);void Sample:func(Sample s)coutA=s.A,B=Bendl;int Sample:B=0;intmain()Sample s1(2),s2(5);Sample:func(s1);Sample:func(s2);四、程序设计题 ( 共 3 小题 ,每小题 8 分,共 24 分) 。1、照要求设计一个类并完成下面的功能。class Student public:Student(int id, char *pName);Student();/拷贝构造函数private:int m_nId;char *m_pStrName; ;在上面类的声明的横线处填写拷贝构造函数的声明。 并在该类的实现文件中写出构造函数和拷贝构造函数的完整定义。答案:拷贝构造函数: Student(con

温馨提示

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

评论

0/150

提交评论