文章目录

  • 13.1.4节目练习
  • 13.2节练习
  • 13.2.2练习

13.1.4节目练习

  1. 练习13.14
#include <iostream>
using namespace std;class numbered
{private:    static int seq;
public:numbered() { mysn = seq++; }int mysn;
};int numbered::seq = 0;void f(numbered s)
{ cout << s.mysn << endl;
}int main()
{numbered a, b = a, c = b;f(a);f(b);f(c);
}
  1. 练习13.15
#include <iostream>
using namespace std;class numbered
{private:static int seq;
public:numbered() { mysn = seq++; }numbered(const numbered &n ) { mysn = seq++; }int mysn;
};int numbered::seq = 0;void f(numbered s)
{cout << s.mysn << endl;
}int main()
{numbered a, b = a, c = b;f(a);f(b);f(c);
}
  1. 练习13.15
#include <iostream>
using namespace std;class numbered
{private:static int seq;
public:numbered() { mysn = seq++; }numbered(const numbered &n ) { mysn = seq++; }int mysn;
};int numbered::seq = 0;void f(numbered &s)
{cout << s.mysn << endl;
}int main()
{numbered a, b = a, c = b;f(a);f(b);f(c);
}

13.2节练习

#include <string>class HasPtr {public:HasPtr(const std::string &s = std::string()) : ps(new std::string(s)), i(0) {}HasPtr(const HasPtr &hp) : ps(new std::string(*hp.ps)), i(hp.i) {}HasPtr& operator=(const HasPtr &hp) {auto new_p = new std::string(*hp.ps);delete ps;ps = new_p;i = hp.i;return *this;}~HasPtr() { delete ps;}
private:std::string *ps;int i;
};

13.2.2练习

  • 练习13.27
#include <string>class HasPtr {public:HasPtr(const std::string& s = std::string()) : ps(new std::string(s)), i(0), use(new size_t(1)) {}HasPtr(const HasPtr& hp) : ps(hp.ps), i(hp.i), use(hp.use) { ++* use; }HasPtr& operator=(const HasPtr& rhs);
private:std::string* ps;int i;size_t* use;
};HasPtr& HasPtr::operator=(const HasPtr& rhs)
{++* rhs.use;if (-- * use == 0){delete ps;delete use;}ps = rhs.ps;i = rhs.i;use = rhs.use;return *this;
}

【C++ Primer | 13】课后习题答案相关推荐

  1. C++ Primer - 5th Edition - 书中源代码 - 课后习题答案

    C++ Primer - 5th Edition - 书中源代码 - 课后习题答案 C++ Primer - 5th Edition - 书中源代码 - 课后习题答案 1. C++ Primer, 5 ...

  2. 《机器学习》周志华课后习题答案——第一章(1-3题完结)

    <机器学习>周志华课后习题答案--第一章 文章目录 <机器学习>周志华课后习题答案--第一章 一.表1.1中若只包含编号为1和4的两个样例,试给出相应的版本空间 二.与使用单个 ...

  3. 整理对应_JSP第二版课后习题答案【侵权联系我删除】

    JSP第二版课后习题下载:https://download.csdn.net/download/weixin_42859280/11265785 JSP第二版课后习题答案下载:https://down ...

  4. java第二版课后题答案_Java语言程序设计第2版第16章 课后习题答案

    <Java语言程序设计第2版第16章 课后习题答案>由会员分享,可在线阅读,更多相关<Java语言程序设计第2版第16章 课后习题答案(62页珍藏版)>请在人人文库网上搜索. ...

  5. 计算机系统结构答案汤志忠,计算机系统结构(第2版)郑伟明汤志忠课后习题答案以及例题收录.doc...

    计算机系统结构(第2版)郑伟明汤志忠课后习题答案以及例题收录.doc 1计算机系统结构第2版郑伟明汤志忠编著清华大学出版社习题解答21目录11第一章P331719(透明性概念),112118(AMDA ...

  6. 计算机组成原理实用教程课后答案,王万生《计算机组成原理实用教程》课后习题答案..doc...

    王万生<计算机组成原理实用教程>课后习题答案. 习题1参考答案 一.选择题 1.微型计算机的分类通常是以微处理器的 D 来划分. A.芯片名B.寄存器数目 C.字长 D.规格 2. 将有关 ...

  7. 清华计算机接口原理,微机原理与接口技术课后习题答案清华大学

    微机原理与接口技术课后习题答案清华大学 微机原理与接口技术课后部分习题参考答案 第一章 2. 第 3项任务,根据状态标志位的状态决定转移方向. 3. 程序存储是将要执行的程序的全部指令存储到存储器中, ...

  8. 计算机网路基础课后习题答案 主编刘建友

    计算机网路基础课后习题答案 第一章 计算机网络概述 一.填空题 二.单项选择题 第二章 物理层 一.填空题 二.单项选择题 三.简答题 第三章 数据链路层 一.填空题 二.单项选择题 三.简答题 第四 ...

  9. c语言二分答案最小值,C语言程序设计第2版课后习题答案(贾宗璞许合利人民邮电-第2版).doc...

    C语言程序设计第2版课后习题答案(贾宗璞许合利人民邮电-第2版) C语言习题答案 第1章 1.选择题 (1) C (2) B (3) 2.填空题 (1)main (2) main (3) 有穷性.确定 ...

  10. 大学物理学(第5版)下(第14章)课后习题答案

    大学物理学(第5版)下 第9章 静电场 课后习题答案    第10章 稳恒磁场   课后习题答案      第11章 变化的电磁场   课后习题答案  第12章 光的干涉   课后习题答案  第13章 ...

最新文章

  1. Quartz.Net—配置化
  2. 1.Jenkins 在windows下的安装与配置
  3. sql 查询优化小计
  4. android studio中的适配器,如何在Android Studio中测试回收器视图适配器
  5. vue中文件上传方法
  6. 计算机音频和视频知识点,计算机基础的知识点.docx
  7. python安装失败错误代码0x_详解雨林木风Win10提示“Python 0x80070643安装时发生严重错误”解决方法...
  8. lcd4linux 支持的相框,最新版AIDA64支持LCD4WIN相框太给力了(20140826更新啦)!
  9. 呼叫中心系统源码_RC09(支持二次开发)CC呼叫中心系统 源码
  10. win7 IIS安装与配置
  11. java 经纬度距离_java根据经纬度计算距离
  12. NMF(非负矩阵分解)
  13. 华为vrrp默认优先级_华为vrrp配置实例
  14. 2021-07-19普中科技STM-32F1开发板初学
  15. html5 图片羽化,html5+webgl仿ps羽化笔刷液态动画特效
  16. Google Play 下载 apk
  17. clickhouse 集群异常排查处理总结
  18. labview运行excel宏_LabVIEW中Excel报告生成功能开发
  19. 感谢默默无闻,致敬负重前行
  20. In Search of an Understandable Consensus Algorithm(寻找可理解的共识算法)

热门文章

  1. Proximal Algorithms--Accelerated proximal gradient method
  2. 区别和联系_动机与主题的区别与联系
  3. Matlab看跌期权二叉树,欧式期权二叉树MATLAB程序
  4. 7 win 卸载node_node怎么卸载?Windows卸载node方法
  5. 如何对java分装,Angular4 JSONP + JAVA代码
  6. map分组后取前10个_map根据属性排序、取出map前n个
  7. python 图片转视频ffmpeg_python图片转视频(opencv),ffmpeg压缩视频
  8. python 输入数字变成密码_如何在python中检查数字的“密码”
  9. java mysql 语句解析器_几种基于Java的SQL解析工具的比较与调用
  10. python开发环境功能介绍_第一模块 第3章 Python介绍与环境配置