摘要: 练习7.47 视情况而定,如果需要保证数据的安全性和正确性,可以用explicit修饰来抑制构造函数定义的隐式转换,而如果为了程序的灵活性而言,使用explicit大大降低了程序的灵活,故实际情况中需要仔细斟酌; 练习7.48 第二句调用了使用一个string实参的构造函数来构造对象; 第三句,是首 阅读全文
posted @ 2017-08-07 21:10 五月份小姐 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 练习7.43 网上的答案 但是觉得不对,对于这样的构造方法不是c的默认构造函数,只是c的构造函数。个人认为缺少NoDefault的默认构造函数的情况下,无法构造c的默认构造函数; 练习7.44 不合法,因为NoDefault类并没有他的默认构造函数,这样的定义最后得到的将是未定义的。 练习7.45 阅读全文
posted @ 2017-08-07 20:18 五月份小姐 阅读(418) 评论(0) 推荐(1) 编辑
摘要: 练习7.41 练习7.42 阅读全文
posted @ 2017-08-07 19:39 五月份小姐 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 练习7.36 base % j 改成 i % j; 练习7.37 分别是第三个,第一个,第二个 练习7.38 练习7.39 不合法,Sales_data test,test的默认函数有两个,因此test不知道调用哪个,产生二义性,不合法。 练习7.40 阅读全文
posted @ 2017-08-07 19:02 五月份小姐 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 练习7.34 程序会出错,显示语法错误,标识符pos; 练习7.35 阅读全文
posted @ 2017-08-07 16:20 五月份小姐 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 练习7,33 如果是在Screen类外定义的,需要在返回类型前加上Screen::,因为pos类型是在Screen类内部定义的,在类外失去了作用域。 如果在类里面定义的,就不需要在函数名前加类作用域。 阅读全文
posted @ 2017-08-07 15:36 五月份小姐 阅读(214) 评论(0) 推荐(1) 编辑
摘要: 练习7.32 头文件 源文件 其实这里是有问题的,问题在于如果使用window_mgr类的成员函数作为Screen类的友元,在定义顺序完全正确的情况下,由于在window_mgr内需要使用到Screen类型,但是此时并没有对Screen类进行声明定义,所以会发生错误,以当前的知识储备还不能解决之一问 阅读全文
posted @ 2017-08-07 14:28 五月份小姐 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 练习7.31 阅读全文
posted @ 2017-08-07 13:30 五月份小姐 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 练习7.27 头文件 源文件 练习7.28 如果是非引用版本,则程序返回的对象的临时副本,而不是对象的引用,这样只能改变的是临时副本的值,原本对象的值并没有改变,反映在上一题就是第一个调用改变了,而第二个display没有改变,另外需要说明的是如果只是改变display的类型,则在结果上并没有什么改 阅读全文
posted @ 2017-08-07 12:35 五月份小姐 阅读(349) 评论(0) 推荐(0) 编辑