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

下载本文档

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

文档简介

《面向对象程序设计》模拟题(补)单项选择题面向对象程序设计思想的主要特征不包括【】。A)继承性B)功能分解,逐步求精C)封装性和信息隐藏D)多态性2.已知数组定义,intarray[8];【】是非法的数组元素访问。A)array[8]B)array[1]C)array[0]D)array[3]3.关键字【】禁止在类外部使用成员数据和成员函数。A)publicB)D)classprivateC)virtual4.下面语句中,【】包含语法错误。A)int*p=newint(2);B)int*p=newint[2](0)C)int*p=newint;D)int*p=newint[2];5.ASCII值与0相等的字符是【】。A) ‘0’B)“0”C) ‘\0’D)‘口' (口表示空格)6.下列的符号常量定义中,正确的是【】。A)constintM;B)intMconst=10;C)intM=10const;D)【】。constintM=10;7.若有类Test,该类的复制构造函数声明为A)Test();B)Test(constCTest&t)C)voidTest(constCTest&t);D)Test(constCTest*t)8.以下选项中,【】不是类的成员函数。A)构造函数B)析构函数C) 友元函数D)复制构造函数9.如果一个类中包含纯虚函数,则该类称为【】。A)派生类B)虚基类C)抽象类D)子类10.在类中将show声明为不带返回值的纯虚函数,则正确的写法是【】。

A)virtualvoidshow()=0;B)virtualshow()=0;C)virtualvoidshow();D)voidshow()=0virtual11.类中每个静态数据成员有【】个拷贝。A)0B)每个对象1个C)1D)不确定12.构造函数在【】时被调用。A)程序编译B)程序装入内存C)创建类D)创建对象13.已知数组定义,intarray[6];则最小数组下标为【】。A) 0B)1C) 6D)514.下面数组定义中,有语法错误的是【】。A)inta[]={1,2,3};B)inta[10]={0}C)inta[];D)inta[5];15.关键字【】允许在类外部使用成员数据和成员函数。A)virtualB)classC)publicD)private16.对如下代码,对其描述正确的是【】。int*p;p=newint[5];A)动态开辟5个int元素,初值不确定B)动态开辟初值为5的一个int兀素C)动态开辟5个int兀素,初值为0D)存在语法错误17.字符串“Hello”在内存中占用的字节数为【】。A)2B)5C)6D)118.已有inta=10;则属于合法引用定义的是【】。A)int&ra=&a;B)int&ra=10;C)int&ra;ra=a;D)int&ra=a;19.下列对构造函数的描述中,【】是错误的。A) A) 返回类型应该为voidB) 构造函数允许重载C) C) 函数名与类名完全相同D) 构造函数允许使用缺省参数20.已知Hello是某个类的常成员函数返回值类型为void,正确的定义形式是【】。A)voidconstHello();B)voidHello()const;C)constvoidHello();20.已知Hello是某个类的常成员函数返回值类型为void,正确的定义形式是【】。A)voidconstHello();B)voidHello()const;C)constvoidHello();D)voidHello(const);21,类中定义的成员默认访问权限为【】。A)publicB)privateC)protectedD)friend22,假定TestClass为一个类,执行“TestClassa[4],*pa;”语句时会自动调用该类型构造函数【】次。B)D)A) 1B)D)C) 5填空题在C++中,定义一个类类型时,成员的默认访问权限为【1】。标识静态成员的关键词是【2】,标识虚函数的关键词是【3】,标识常成员的关键词是【4】,标识内联函数的关键词是【5】。在函数内部定义的变量称为【6】,它们位于栈内,当它们超出作用域后由系统自动删除;动态创建的数据位于【7】中,它们必须通过【8】运算符显式删除。在C++中,标识内联函数的关键词是【9】,标识静态成员的关键词是【10】,标识友元函数的关键词是【11】。在函数内部定义的变量称为【12】,在函数被调用时由系统创建,它们位于【13】中,使用new运算符动态创建的对象位于【14】中,动态创建的对象占用的内存空间需要通过【15】运算符释放。程序填空题下面的类定义了2个重载的构造函数,请补充完成程序。classCTest{private:intx,y;public:CTest(inta=0,intb=0);CTest(constCTest&r);};CTest::CTest(inta,intb):【1】{}【2】(constCTest&r){x=【3】;【4】;}下面的程序通过成员函数实现计算两点间距离的功能,请补充完成程序。#include<iostream>#include<cmath>classPoint{private:doublex,y;public:【5】getDistance(constPoint&a)const;Point(doublea,doubleb){x=a;y=b;}};【6】getDistance(constPoint&a)const{doubledx,dy;dx=【7】;【8】;returnsqrt(dx*dx+dy*dy);}阅读程序题1.写出下面程序的执行结果。#include<iostream>usingnamespacestd;classCAnimal{public:virtualvoidReport(){cout<<“ReportfromAnimal!”<<endl;}};classCTiger:publicCAnimal{public:voidReport(){cout<<“ReportfromTiger!”<<endl;}};classCMonkey:publicCAnimal{public:voidReport(){cout<<“ReportfromMonkey!”<<endl;}};voidshow(CAnimal*p){p->Report();}intmain(){CAnimal*pAnimal;pAnimal=newCAnimal;show(pAnimal);deletepAnimal;pAnimal=newCTiger;show(pAnimal);deletepAnimal;pAnimal=newCMonkey;show(pAnimal);deletepAnimal;return0;}写出下面程序的输出结果。#include<iostream>usingnamespacestd;classTest{public:Test(){cout<<"Defaultconstructor.”<<endl;}~Test(){cout<<"Destructor.''<<endl;}Test(constTest&t){cout<<"Copyconstructor.”<<endl;}};voidfun(constTestt){Testt2(t);}intmain(){Testt1;fun(t1);return0;}程序设计题1.已知分数类Fraction的定义如下,请使用成员函数的方法,重载+运算符,实现两个Fraction对象之间的+运算;重载*=运算符,实现两个分数对象之间的*=运算。写出成员函数的实现。#include<iostream>usingnamespacestd;classFraction{private:intden,num;//分母和分子public:Fraction(intd,intn){den=d;num=n;}Fraction&operator*=(constFraction&f);Fractionoperator+(constFraction&f);参考答案:1._private或私有2.—static—3._virtual4._const5._inline—6._局部变量7.堆 8.delete9.inline10._static11.一friend_ 12.—局部变量13._栈14._堆—15._delete三.程序填空题1. x(a).v(b)_ 2._CTest::CTest一3.—r.x 4.y=r.y5.double6.doublePoint::7.x-a.x8.dv=v-a.v四.阅读程序题1、ReportfromAnimal!ReportfromTiger!ReportfromMonkey!2、Defaultconstructor.Copyconstructor.Copyconstructor.Destructor.Destructor.Destructor.五.程序设计题Fraction&Fraction::operato

温馨提示

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

评论

0/150

提交评论