2018年8月21日
摘要: 7.36:下面的初始值是错误的,请找出问题所在并尝试修改它。 struct X { X(int i ,int j):base(i),rem(base%j) { } int rem,base; }; Ans:由于构造函数的初始化顺序与成员定义的顺序一直,所以该程序是rem先初始化,然后才是base,但 阅读全文
posted @ 2018-08-21 18:49 linlh 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 1、类的作用域以外的数据成员和函数成员只能由对象、指针或者引用使用成员访问运算符来访问。作为类内的类型成员,通过作用域运算符访问。在类的外部成员名字被隐藏起来了。 2、如果成员函数的返回类型是在类中定义的,那么在类的外部定义这种成员函数,还要额外指明返回类型是属于哪个类的。若没有指明,则其返回类型是 阅读全文
posted @ 2018-08-21 15:49 linlh 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 7.34:如果我们把第256页Screen类的pos的typedef放在类的最后一行会发生什么情况? Ans:那么所有使用pos类型的成员,都无法通过编译。 7.35:解释下面代码的含义,说明其中的Type和initVal分别使用了哪个定义。如果代码存在错误,尝试修改它。 typedef strin 阅读全文
posted @ 2018-08-21 15:45 linlh 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 7.33:如果我们给Screen添加一个如下所示的size成员将发生什么情况?如果出现了问题,请尝试修改它。 pos Screen::size() const { return height*width; } Ans:由于size函数的返回值是pos类型的,该类型是在类中定义的类型,在类外使用时需要 阅读全文
posted @ 2018-08-21 14:26 linlh 阅读(82) 评论(0) 推荐(0) 编辑