面向对象程序设计-模拟题1-3-填空和排错题_第1页
面向对象程序设计-模拟题1-3-填空和排错题_第2页
面向对象程序设计-模拟题1-3-填空和排错题_第3页
面向对象程序设计-模拟题1-3-填空和排错题_第4页
面向对象程序设计-模拟题1-3-填空和排错题_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、二、填空题 (共10题,共20分)1. 类成员的访问权限分为_public_、_protected_和_private_三类。 (2分)2. 下列语句序列执行后输出10,请将划线处的语句补充完整。class MyClass public: MyClass(int x):val(x) void Print();private:int val;void MyClass:Print() coutvalendl; int main() MyClass obj(10);obj.Print();return 0;3. 有两个类M和C,其中类C定义如下:class C public: M m; ;。若建立类

2、C的对象object,则对象m和对象object中后被初始化的是对象_object_。 (2分)4. 下列语句序列执行后输出Hello,请将划线处的语句补充完整。(2分)class MyClass public: void Print() const coutPrint();return 0;5. 请在划线处填写正确内容,使类MyClass的复制构造函数的声明完整。(2分) class MyClass public: MyClass(const _MyClass&_ obj); ; 6. 为了解决多继承产生的_菱形继承_问题,在C+中引入了虚基类。(2分)7. 派生新类的类称为_父类_,而派生

3、出的新类称_子类_。(2分)8. 运算符函数的函数名是由运算符前加关键字_operator构成的。 (2分)9. 下列语句序列的输出结果是_100_。 (2分)class MyClass public: MyClass(int x) coutx; MyClass() cout0; ;int main() MyClass obj1(1),obj2(obj1),&ptr=obj1;return 0;10. 所有在类内部定义的成员函数都是内联 函数。 (2分)三、改错题 (共1题,共10分)下列程序中有三个错误,请改正错误(注意不要修改主函数),使程序的输出结果为: The point is (0,

4、1)The point is (3,5)源文件清单如下:Line1:#include Line2:class Point Line3:public:Line4:Point(int xx=0, int yy) : x(xx), y(yy) Line5:void Move(int xOff, int yOff) const Line6:x+=xOff; y+=yOff;Line7:Line8:void Print() const Line9: coutThe point is (x, y)endl; Line10:private:Line11:int x,y=0;Line12:;Line13:in

5、t main() Line14:Point p1,p2(2,1);Line15:p1.Print();Line16:p2.Move(1,4);Line17:p2.Print();Line18:return 0;Line19:Line4: Point(int xx=0, int yy=1) : x(xx), y(yy) Line5: void Move(int xOff, int yOff) Line11:int x,y;二、填空题 (共10题,共20分)1. 类的三种继承方式是_公有继承(public),保护继承(protect),私有继承(private)。(2分)2. 下列语句序列的输出结

6、果是_120000_。(2分) class MyClass public: MyClass(int x=0) coutx; MyClass() cout0; ;int main() MyClass arr3=MyClass(1),MyClass(2);return 0;3. 下列语句序列执行后输出10,请将划线处的语句补充完整。(2分)class MyClass public:MyClass(int x) : _ val(x)_ void Print( ) coutvalendl; private:int val;int main() MyClass obj(10);obj.Print();r

7、eturn 0;4. 请在划线处填写正确内容,使类Test的复制构造函数的声明完整。(2分)class Testpublic: Test(const _Test&_obj); ;5. 在C+中,_函数重载_是指同一个函数名可以对应多个函数的实现。(2分)6. 请在划线处写出MyClass类的析构函数声明。(2分)class MyClass public:_ MyClass ();_;7. 下列语句序列执行后输出Hello,请将划线处的语句补充完整。(2分)class MyClass public: void Print() const coutPrint();return 0;8. 运算符函数

8、的函数名是由运算符前加关键字_ operator _构成的。 (2分)9. 请在划线处填写构造函数的声明,使得语句Point p1;创建的p1对象为原点。(2分) class Point public: _ Point p1(int x=0,int y=0);_ private: int x,y; ; 10. 有两个类M和C,其中类C定义如下:class C public: M m; ;。若建立类C的对象object,则对象m和对象object中后被初始化的是对象_object_。三、改错题 (共1题,共10分)下列程序中有三个错误,请改正错误(注意不要修改主函数),使程序的输出结果为:Kel

9、ly is 10 years old.Patrick is 35 years old.源文件清单如下:Line1:#include Line2:class Person Line3:public:Line4:Person(char *str, int _age=10) : age(_age) Line5: name=new charstrlen(str+1); strcpy(name,str); Line6:void Person() delete name; Line7:void SetAge(int num) const age=num; Line8:void Print() const

10、Line9: coutname is age years old. endl; Line10:private:Line11:char *name;Line12:int age=0;Line13:;Line14:int main() Line15:Person p1(Kelly),p2(Patrick,25);Line16:p1.Print();Line17:p2.SetAge(35);Line18:p2.Print();Line19:return 0;Line20:Line6:Person() delete name; Line7:void SetAge(int num) age=num; L

11、ine12:int age;二、填空题 (共10题,共20分)1. 在C+中,_函数重载_是指同一个函数名可以对应多个函数的实现。(2分)2. 下列语句序列执行后输出10,请将划线处的语句补充完整。(2分) class MyClass public: MyClass(int x):val(x) void Print() coutvalendl; private:int val;int main() MyClass obj(10);obj.Print();return 0;3. 已知一个函数的原型是double fun(double x);,若要以4.25为实参调用该函数,应使用表达式_ fun

12、 (4.25)_ 。 (2分)4. 下列语句序列执行后输出Hello,请将划线处的语句补充完整。(2分)class MyClass public: void Print() const coutPrint();return 0;5.有两个类M和C,其中类C定义如下:class C public: M m; ;。若建立类C的对象object,则对象m和对象object中先被初始化的是对象_m_。(2分)6. 请在划线处填写构造函数的声明,使得语句Point p1;创建的p1对象为原点。(2分)class Point public: _Point p1(int x=0,int y=0);_ pri

13、vate: int x,y; ; 7. 请在划线处写出MyClass类的析构函数声明。(2分)class MyClass public:_MyClass(); _;8. 设置虚基类的目的是为了解决多继承产生的_菱形继承_问题。(2分)9. 将一个函数声明为一个类的友元函数必须使用关键字_ friend _。 (2分)10. 派生新类的类称为_基类,又称为父类,而派生出的新类称_派生类,又称为子类_。(2分)三、改错题 (共1题,共10分)下列程序中有三个错误,请改正错误(注意不要修改主函数),使程序的输出结果为: ConstructorThe value is 10Destructor源文件清单如下:Line1:#include Line2:class MyClassLine3:Line4:public:Line5:MyClass(int x):value(x) coutConstructorendl; Line6:void MyClass() coutDestructorendl; Line7:void Print() const;Line8:private:Line9:int value=0;Line10:;Line11:void MyClass:Print() L

温馨提示

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

评论

0/150

提交评论