- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C习题讲解[ch06]
C++习题讲解;第六章 类和对象(二); B.使用对象通过指向成员的指针表示成员的运算符
C.用来表示指向对象指针的成员的运算符
D.用来表示对象的成员的运算符
3.已知f1(int)是类A的公有成员函数,p是指向成员函数f1()的指针,采用(B)是正确的.
A.P=f1 B.P=A::f1 C. P=A::f1() D. P=f1()
正确格式应该是
<指向函数的指针名>=<类名>::<函数名>
4.已知:p是一个指向类A数据成员m的指针,A1是类的一个对象.如果要给m赋值为5,(C)是正确的.
A.A1.P=5 B.A1-p=5 C.A1.*p=5 D.*A1.p=5
正确赋值格式应该是
<对象名>.*<指针名>=数值
;5.已知类A中一个成员函数说明如下:void set(Aa),其中Aa的含义是(C)
A.指向类A的指针为a
B.a将的地址值赋给变量
C. a是类A的对象引用,用来作为set()的参数
D.变量A与a按位相与作为函数set()的参数
7.下列定义中(B)是定义指向数组的指针P.
A.int *p[5] B. int (*p)[5]C. (int *)p[5]D. int *p[]
指向数组的指针的定义格式如下:
<类型说明符>(*<指针名>)[<大小>]
8.下列说明中const char *ptr,ptr应该是(C)
A.指向字符常量的指针B.指向字符的常量指针;C.指向字符串常量的指针D.指向字符串的常量指针
常量指针还分两种,其一是指向的地址值是常量,另一种指向的值是常量.
9.已知print()函数是一个类的常成员函数,它无返回值,下列表达式中正确的是(A)
A.void print()const B.const void print()
C. void constprint() D.void print(const)
常成员函数的定义格式如下:
<类型说明符><函数名>(<参数表>)const
12.具有类型转换功能的构造函数,应该是(B)
A.不带参数的构造函数B.带有一个参数的构造函数
C.带有两个以上参数的构造函数D.默认构造函数
具有类型转换功能的构造函数只有一个参数;二.判断题
1.指向对象的指针和指向类的成员函数的指针在表示形式
上是不相同的.正确
指向类的成员函数的指针的表示形式如下
类型说明符(类名::*指针名)(参??表)
指向对象的指针表示形式如下
<类名>*<指针名>=&<对象名>
3.指向对象的指针与对象都可以作为函数参数,但是使用
前者比后者好些.正确
使用前者可以实现传址调用,还不进行对象副本的复制,提
高运行效率.
4.对象引用作为函数参数比用对象指针更方便.正确
因为对象引用比对象指针更简单更直接;5.对象数组的元素是不同类的对象.错误
定义对象数组的时候,前面要加类名,所以对象数组的元素
是属于同一个类的
7.指向对象数组的指针不一定必须指向数组首元素.正确
8.一维对象指针数组的每个元素应该是某个类的对象的地
址值.正确
10.一个能够更新的变量使用在一个不能被更新的环境中
是不破坏类型保护的,反之亦然.错误
Const用于变量时是可以改变Const的属性的
11.一个类的构造函数可以不包含对其子对象的初始化.
错误
类的构造函数的功能就是用给定的值对对象进行初始化
;三.分析程序结果
1.输出结果是
starting:
default constructor called.
default constructor called.
default constructor called.
Ending1:
Starting2:
Constructor:a=5,b=6
Constructor:a=7,b=8
Constructor:a=9,b=10
Ending 2:
;Destructor called. a=9,b=10
Destructor called. a=7,b=8
Destructor called. a=5,b=6
Destructor called. a=3,b=4
Destructor called. a=1,b=2
2.输出结果是
Default constructor called.
Default constructor called.
Default constructor called.
Default constructor called.
Destructor called.
Constructor1 called.
;Destructor called.
Constructor2 called.
Destructor called.
X=0,y=0
X=5,y=
文档评论(0)