- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.2 指出如下各类可访问的成员及成员的访问权限。
class A{
int a;
protected:
int b, c;
public:
int d, e;
~A( );
};
class C: A{
int a;
protected:
int b, f;
public:
int e, g;
A::d;
};
类A可访问成员及访问权限:
private:
int a;
protected:
int b, c;
public:
int d, e;
~A( );
类C可访问成员及访问权限:
private:
int A::b, ca;
~A( );
protected:
int b, f;
public:
int A::d , e, g;
8.3 指出如下程序中main 的每行语句的输出结果。
#include iostream.h
struct A{A( ) { coutA;}};
struct B{B( ) { coutB;}};
struct C: A{C( ) { coutC;}};
struct D: A, B{D( ) { coutD;}};
struct E: A, B, virtual C{
D d;
E( ) { coutE;}
};
struct F: A, virtual B, virtual C, D, E{
C c, d;
E e;
F( ) { coutF;}
};
void main(void)
{
A a; cout\n; //输出A
B b; cout\n; //输出B
C c; cout\n; //输出AC
D d; cout\n; //输出ABD
E e; cout\n; //输出ACABABDE
F f; cout\n; //输出BACAABDABABDEACACACABABDEF
}9.1 指出以下程序中的语法错误及其原因class A{
static const int a;
int b;
protected:
int c, d;
int A(int); // 构造函数没有返回类型,不能返回 int
public:
int e, f;
const int g=7; // 不能对g 初始化,只读变量只能在构造函数的函数头后面用冒号隔开初始化
A operator=(A );
} a={1, 2, 3}; // 因类 A有私有成员或构造函数, 必须使用构造函数初始化
class B: protected A{
int b;
protected:
A::a; // 是私有的, 不能出现在 protected 下面
B(int);
int operator ?: (int, int); // ?:不能重载?:运算符
public:
static B(int, int); // 不能出现 static
int operator int( ); // 类型转换重载函数不能有返回类型
operator A( );
B(int, int, int);
} b(5); // 无法用私有的构造函数B(int)初始化, 全局变量只能有公有构造函数初始化
void main( void) {
int x;
int y=x;
int *z=y; // 不能定义指向引用类型的指针,引用类型的变量理论上不分配内存, 此外
初始化表达式的类型也不匹配
int A::*p=A::b; // 不能访问私有的成员 A::b
int *q=A::e; // A::e 的类型为 int A::*, 不能转换为 int *
int A::**r;
x=b.b; // B::b 是 main 不可访问的成员
x=b.f; // A::f 是 main 不可访问的成员
y=x+a; // 没有相应的运算符重载函数, 也没有将类 A的对象转换为 int 的函数
y=B(6); // B(6)要构造一个常量对象, 但保护的构造函数 B(int)是不能被 main 访问的
a=B(3, 4, 5); // B类没有类型转换转换常量对象 B(3, 4, 5) 为 A类对象, A类也没有相应赋值运算
符函数 A::operator =(B)重载? 不能实现类型转换后赋值或不同类型直接赋值
r=q; // q 的类型为 int **, 不能转换为和r 同样的 int A::**类型
a.*q=6; // q 不是普通成员指针类型
*(a.*r)=9; // r 是一个指向普通成员指针的普通指针, 而不是普通成员指针
}
9.2 指出main的变量i 在每条语句执行后的值。
int x=7;int y=::x+5;
struct A{ int x; static int y;
public:
A operator +=(A );
您可能关注的文档
- 流体密封技术Microsoft PowerPoint - 3垫片密封-1中低压设备.pdf
- 流体密封技术Microsoft PowerPoint - 3垫片密封-2高压设备密封.pdf
- 流体密封技术Microsoft PowerPoint - 4填料密封-1软填料.pdf
- 流体密封技术Microsoft PowerPoint - 4填料密封-2硬填料.pdf
- 流体密封技术Microsoft PowerPoint - 4填料密封-3成型填料.pdf
- 流体密封技术Microsoft PowerPoint - 5机械密封.pdf
- 论爱因斯坦科学哲学思想的转变_傅海辉.pdf
- 旅途中的易损性:静止状态中移动的时间和空间 回答问题.doc
- 旅途中的易损性:静止状态中移动的时间和空间.doc
- 罗茨风机培训课件-韩守盈.ppt
最近下载
- 15MR105城市道路与开放空间低影响开发雨水设施(OCR).pdf VIP
- 高考数学圆锥曲线常用二级结论.pdf VIP
- 住院患者跌倒护理风险评估与护理指导意见.pdf VIP
- 《放疗副作用及应对》课件.ppt VIP
- GB50209-2010建筑地面工程施工质量验收规范(新).pdf VIP
- 新苏教版六年级科学上册 第一单元《物质的变化》测试卷(A卷).docx VIP
- 新苏教版六年级科学上册第一单元《物质的变化》测试卷及答案.pdf VIP
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
- 煤矿用防爆电气设备防爆检查标准-培训课件.pptx
- 半导体物理学(第8版)刘恩科课后习题答案解析.pdf
文档评论(0)