面向对象程序设计b

面向对象程序设计b

ID:18938118

大小:80.00 KB

页数:12页

时间:2018-09-27

面向对象程序设计b_第1页
面向对象程序设计b_第2页
面向对象程序设计b_第3页
面向对象程序设计b_第4页
面向对象程序设计b_第5页
资源描述:

《面向对象程序设计b》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《面向对象程序设计》B一、选择题(每题2分,共20分)1、在C++语言中函数返回值的类型是由______C___决定的。A)调用该函数时系统临时B)return语句中的表达式类型C)定义该函数时所指定的函数类型D)调用该函数时的主调函数类型解析:返回值的类型是在函数声明时指定。2、在函数定义前加上关键字inline",表示该函数被定义为____B_____。A)重载函数B)内联函数C)成员函数D)普通函数解析:inline关键字用于定义内联函数。内联函数可以优化函数的执行速度,但是该关键字仅仅作为一个编译器提示,实际效果取决

2、于编译器。3、假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为___C______。A)MyClass&(MyClassx);B)MyClass(MyClassx)C)MyClass(MyClass&x);B)MyClass(MyClass*x)解析:A.构造函数名包含无效字符&,构造函数参数不能是MyClassxB.构造函数参数不能是MyClassC.正确的拷贝构造函数定义之一,另一种形式是MyClass(constMyClass&);D.这只是一个普通的构造函数,不是拷贝构造函数,其参数是只想本类的指针

3、。4、下面对于友元函数描述正确的是___C______。A)友元函数的实现必须在类的内部定义B)友元函数是类的成员函数C)友元函数破坏了类的封装性和隐藏性第12页D)友元函数不能访问类的私有成员解析:A.友元函数必须在类中声明(加上关键字friend),但是其定义在类中和类外都可以。B.友元函数不是目标类的成员函数C.友元可以直接访问类的任何成员,所以破坏封装和隐藏。D.友元函数可以访问目标类中直接的任何成员5、为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_____A____。A)pu

4、blicB)protectedC)privateD)static解析:“对象通过成员操作符访问”是指通过以下形式访问类成员:objectName.memberName由public修饰的成员都可以通过以上形式访问,所以答案选A6、下面对静态数据成员的描述中,正确的是_____A____。A)静态数据成员是类的所有对象共享的数据B)类的每个对象都有自己的静态数据成员C)类的不同对象有不同的静态数据成员值D)静态数据成员不能通过类的对象调用解析:静态数据成员是独立于对象的数据成员,类的所有对象共享同一个静态数据成员。7、关于ne

5、w运算符的错误的描述是____A_____。A)使用运算符new创建对象数组时必须定义初始值B)使用运算符new创建对象时,会调用类的构造函数C)运算符new可以用来动态创建对象和对象数组D)使用new运算符创建的对象可以使用运算符delete删除解析:1.new运算符用于在堆中分配内存,如果是为类对象分配内存的话,new运算符会自动调用类的构造函数。2.new建立的对象不会自行销毁,所以如果不使用堆对象,应该用delete运算符删除该对象,否则在对象将一直存在。intmain(){第12页//不停分配存储while(tru

6、e)int*p=newint[1024];}8.下列给字符数组进行初始化中,_____A_____是正确的。A.chars1[]="12345abcd";B.chars2[3]="xyz";C.chars3[][3]={'a','x','y'};D.chars4[2[3]={"xyz","mnp"};解析:A.比较灵活的定义字符数组的形式,在这种形式中编译器会自动计算字符串”12345abcd”的长度,然后分配适当的内存,最后将字符串拷贝到数组内。B.“xyz”的是长度实际上是4个字节,但是s2的最大长度是3个字节,所以数组

7、界限溢出。C.有两处错误,正确定义形式应该是:chars3[3][2]={"a","x","y"};D.数组界限溢出C、D都是定义数组的数组。9、______A____是析构函数的特征。A.一个类中只能定义一个析构函数;B.析构函数与类名不同;C.析构函数的定义只能在类体内;D.析构函数可以有各个或多个参数。;解析:一个类中只能有一个析构函数,析构函数的名字格式是~类名();并且析构函数不能有参数和返回值。析构函数名字前的~字符时为了区别构造函数。10、已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给m

8、赋值为第12页5,______C____是正确的。A.A1.p=5;B.A1->p=5;C.A1.*p=5;D.*A1.p=5;解析:通过只想成员的指针访问成员的语法是:objectName.*memberPointer;所以此题选C二、填空题(每空2分,共20分)1、1在C++程序中,使

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。