第七章 7.5.3节练习
来源:互联网 发布:ipad下载旧版本软件 编辑:程序博客网 时间:2024/04/28 11:21
7.5.2节的练习,可以自行选择练习。
练习7.43
假定有一个名为NoDefault的类,它有一个接受int的构造函数,但是没有默认构造函数。定义类C,C有一个NoDefault类型的成员,定义C的默认构造函数。
解答:
struct NoDefault{NoDefault(const int& i):data(i){}int data;};struct C{C(int num = 0) :no(num){}NoDefault no;};
练习7.44
下面这条声明合法吗?如果不为什么?
vector<NoDefault> vec(10);
解答:
不合法,因为NoDefault没有默认构造函数。
练习7.45
如果在上个练习中定义的vector的元素类型是C,则声明合法吗?为什么?
解答:
这个合法,因为C有默认构造函数。
练习7.46
下面那些论断是不正确的?为什么?
(a) 一个类必须至少提供一个构造函数。
(b) 默认构造函数好似参数列表为空的构造函数。
(c) 如果对已类来说不存在有意义的默认值,则类不应该提供默认构造函数。
(d) 如果类没有定义默认构造函数,则编译器将为其生成一个并把每个数据成员初始化成相应类型的默认值。
解答:
(a) 错。没有提供构造函数的情况下,编译器会为其生成一个。
(b) 错。默认构造函数也可以参数列表。
(c) 错。无论是否有意义,要保证数据使用安全,最好将成员变量都进行初始化。
(d) 正确。
0 0
- 第七章 7.5.3节练习
- 第七章 7.5.1节练习
- 第七章 7.5.4节练习
- 第七章 7.5.5节练习 & 7.5.6节练习
- 第七章 7.1.2节练习 & 7.1.3节练习
- 第七章 7.3.3节练习 & 7.4节练习
- 第七章 7.2节练习
- 第七章 7.6节练习
- 第七章上机练习3
- 第七章 7.3.2节练习
- 第七章 7.4.1节练习
- 第七章上机练习3 4
- 第七章 编程练习
- 第七章上机练习
- 第七章练习
- 第七章 7.2.1节练习 & 7.3.1节练习
- simply scheme 第七章 练习
- 第七章上机练习1
- Struts 2的基石——拦截器(Interceptor)
- 最简单随机生成数(文件输入输出)
- 终于有人把O2O、C2C、B2B、B2C的区别讲透了
- 黑马程序员--java网络编程
- HDU 1171 Big Event in HDU(01背包)
- 第七章 7.5.3节练习
- 实现 组件-实体-系统
- javaScript变量作用域
- jetty下载与使用
- 根据下拉框的内容异步加载表格
- poj2386 Lake Counting
- 转载和积累系列 - PHP程序员的技术成长规划
- Swift教程_零基础学习Swift完整实例(二)_swift基础(简单值、控制流、方法和闭包)
- 启动关闭oracle服务.bat