摘要:
7.52:使用2.6.1节(64页)的Sales_data类,解释下面的初始化过程。如果存在问题,尝试修改它。 Sales_data item = { "978-0590353403", 25, 15.99}; Ans:将bookNo初始化成“978-0590353403”,将units_sold初 阅读全文
摘要:
7.47:说明一个string参数的Sales_data构造函数是否应该是explicit的,并解释这样做的优缺点。 Ans:应该。因为在Sales_data这个类中,当我们输入一个ISBN号,一般还要用户输入一个书的价格和数目,如果不使用explicit声明这个函数时,那么意味着可以进行隐式地转换 阅读全文
摘要:
1、若构造函数只接受一个实参,则它实际上定义了转换为此类类型的隐式转换机制,这种构造函数又称作转换构造函数。 2、能通过一个实参调用的构造函数定义了该参数类型向类类型隐式转换的规则。也就是说,若定义了只接受一个实参的构造函数,那么可以用这种参数类型去替换原本需要类类型的地方,当我们使用了这个实参类型 阅读全文
摘要:
7.44:下面这条声明合法吗?如果不,为什么? vector<NoDefault> vec(10); Ans:不合法。由于容器vector是包含10个NoDefault类型的对象集合,每个对象都进行默认初始化,由于NoDefault类没有定义默认构造函数,所以无法对每个对象执行默认初始化,故不合法。 阅读全文