C++ Primer 第五版 中文版 练习 13.14&13.15&14.16&14.17 个人code
来源:互联网 发布:王宏安 软件所 编辑:程序博客网 时间:2024/06/03 18:53
C++ Primer 第五版 中文版 练习 13.14&13.15&14.16&14.17
练习 13.14:假定numbered是一个类,它有一个默认构造函数,能为每个对象生成一个唯一的序号,保存在名为mysn的数据成员中。
假定numbered使用合成拷贝控制成员,并给定如下函数:
void f(numbered s) { std::cout << s.mysn << std::endl; }
则下面代码输出什么内容??
numbered a,b=a,c=b;
f(a);f(b);f(c);
答:输出一样的内容,都为a对象的mysn的值。
练习 13.15:假定numbered定义一个拷贝构造函数,能生成一个新的序号。
这会改变上题中调用的输出结果吗?如果会改变,为什么?新的输出结果是什么?
答:不会改变输出结果,输出一样的内容,都为对象的mysn的值。
练习13.16:如果f中的参数是const numbered &,将会怎样?这会改变输出结果吗?如果会改变,为什么?新的输出结果是什么?
答:不会改变输出结果。
练习 13.17:分别编写前三题中所描述的 numbered 和 f ,验证你是否正确预测了输出结果。
答:
#include <iostream>#include <algorithm>class numbered{public://练习 13.14假设这就是默认构造函数……用rand来生成唯一的序号。预测输出结果是一样的都是a的mysn值numbered():mysn(rand()){}//拷贝构造函数,练习 13.15 这上依然不会改变输出结果,一样的都是a的mysn值numbered(const numbered &num) :mysn(num.mysn){}//为了方便输出声明为publicint mysn;};//练习13.14中的函数void f(numbered s) { std::cout << s.mysn << std::endl; }//练习13.16中的函数 不会改变输出结果,一样都是a的输出结果。void f(const numbered &s) { std::cout << s.mysn << std::endl; }using namespace std;int main(){numbered a, b = a, c = b;f(a);f(b);f(c);return 0;}输出结果总是一样的:
0 0
- C++ Primer 第五版 中文版 练习 13.14&13.15&14.16&14.17 个人code
- C++ primer 第五版 中文版 练习 8.13 个人 code
- C++ primer 第五版 中文版 练习 9.5 个人 code
- C++ primer 第五版 中文版 练习 9.31 个人code
- C++ primer 第五版 中文版 练习 9.47 个人code
- C++ primer 第五版 中文版 练习 9.49 个人code
- C++ primer 第五版 中文版 练习 9.50 个人code
- C++ primer 第五版 中文版 练习 10.1 个人code
- C++ primer 第五版 中文版 练习 10.2 个人code
- C++ primer 第五版 中文版 练习 9.51 个人code
- C++ primer 第五版 中文版 练习 10.3 个人code
- C++ primer 第五版 中文版 练习 10.6 个人code
- C++ primer 第五版 中文版 练习 10.9 个人code
- C++ primer 第五版 中文版 练习 10.11 个人code
- C++ primer 第五版 中文版 练习 10.13 个人code
- C++ primer 第五版 中文版 练习 10.14 个人code
- C++ primer 第五版 中文版 练习 10.15 个人code
- C++ primer 第五版 中文版 练习 10.16 个人code
- 中缀表达式求值
- java学习二十四 java循环语句do while
- 《Java 解惑》 第二章 表达式之谜
- Android应用---小火箭Rocket
- RED5 Plugin 及 RED5 Application在Eclipse中的调试
- C++ Primer 第五版 中文版 练习 13.14&13.15&14.16&14.17 个人code
- 根据错误原理解决Hibernate运行出现No CurrentSessionContext configured!错误
- 数字电路设计之有符号乘法的两种实现
- Eclipse的彩色世界-文本语法高亮
- memcpy,strcpy,strncpy
- DLL中导出函数的两种方式
- 如何使用SQLite数据库(翻译的不好,见谅)
- jQuery选择器中last-of-type和first-of-type效果案例
- java中的HashTable,HashMap和HashSet