上一页 1 2 3 4 5 6 7 ··· 16 下一页
2018年8月22日
摘要: 7.52:使用2.6.1节(64页)的Sales_data类,解释下面的初始化过程。如果存在问题,尝试修改它。 Sales_data item = { "978-0590353403", 25, 15.99}; Ans:将bookNo初始化成“978-0590353403”,将units_sold初 阅读全文
posted @ 2018-08-22 18:46 linlh 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 7.47:说明一个string参数的Sales_data构造函数是否应该是explicit的,并解释这样做的优缺点。 Ans:应该。因为在Sales_data这个类中,当我们输入一个ISBN号,一般还要用户输入一个书的价格和数目,如果不使用explicit声明这个函数时,那么意味着可以进行隐式地转换 阅读全文
posted @ 2018-08-22 17:34 linlh 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 1、若构造函数只接受一个实参,则它实际上定义了转换为此类类型的隐式转换机制,这种构造函数又称作转换构造函数。 2、能通过一个实参调用的构造函数定义了该参数类型向类类型隐式转换的规则。也就是说,若定义了只接受一个实参的构造函数,那么可以用这种参数类型去替换原本需要类类型的地方,当我们使用了这个实参类型 阅读全文
posted @ 2018-08-22 16:50 linlh 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 7.44:下面这条声明合法吗?如果不,为什么? vector<NoDefault> vec(10); Ans:不合法。由于容器vector是包含10个NoDefault类型的对象集合,每个对象都进行默认初始化,由于NoDefault类没有定义默认构造函数,所以无法对每个对象执行默认初始化,故不合法。 阅读全文
posted @ 2018-08-22 14:44 linlh 阅读(182) 评论(0) 推荐(0) 编辑
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) 编辑
2018年8月20日
摘要: 7.28:如果move、set和display函数的返回类型不是Screen&而是Screen,则在上一个练习中将会发生什么情况? Ans:若返回类型不是引用,则三个函数返回的都是对象的副本,则上个练习中的测试代码,第一个display打印的是原始对象的副本修改后的值,第二个原始对象的值。 7.30 阅读全文
posted @ 2018-08-20 23:01 linlh 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 7.25:Screen能安全地依赖于拷贝和赋值操作的默认版本吗?如果能,为什么?如果不能,为什么? Ans:能。除了指针类型等这些复合类型外,内置类型都能安全地依赖于拷贝和赋值操作的默认版本,并且string类型内部有自己版本的拷贝和赋值操作。 阅读全文
posted @ 2018-08-20 15:28 linlh 阅读(113) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 16 下一页