C++primer plus第六版课后编程练习答案14.1

2023-05-16

#include <iostream>
#include <string>

using namespace std;


template <class T1,class T2>
class Pair
{
	private:
		T1 a;
		T2 b;
	public:
		T1 &first();
		T2 &second();
		T1 first()const{return a;}
		T2 second()const{return b;}
		void setmember(const T1 &t1,const T2 &t2)
		{
			a=t1;
			b=t2;
		}
		Pair(const T1 &aval,const T2 &bval):a(aval),b(bval){}
		Pair(){}
};

template<class T1,class T2>
T1 & Pair<T1,T2>::first()
{
	return a;
}

template<class T1,class T2>
T2 & Pair<T1,T2>::second()
{
	return b;
}

#include <iostream>
#include <string>
#include <valarray>
#include "pair.cpp"//解决类声明和定义写在同一个cpp造成的定义冲突的方法,将所有方法写成内联方法

using namespace std;

typedef valarray<int> ArrayInt;
typedef Pair<ArrayInt,ArrayInt> PairArray;


class Wine
{
private:
	string name;
	PairArray p;
	int yearnumber;
public:
	Wine(const char *l,int y,const int yr[],const int bot[]):name(l)
	{
		yearnumber=y;
		ArrayInt f(yr,y);//构造valarray<int>数组  
		ArrayInt b(bot,y);  
		p.setmember(f,b);
	}

	Wine(const char *l,int y)
	{
		name=l;
		yearnumber=y;
		p.setmember(ArrayInt(y),ArrayInt(y)); 
	}
	
	void GetBottles()
	{
		cout<<"您能够输入"<<yearnumber<<"次年份和瓶数"<<endl;
		for(int i=0;i<yearnumber;i++)
		{
			cout<<"请输入年份:";
			cin>>p.first()[i];
			cout<<"请输入瓶数:";
			cin>>p.second()[i];
		}
	}
	
	string Label()
	{
		return name;
	}

	int sum()
	{
		return p.second().sum();
	}

	void show()
	{
		cout<<"葡萄酒名称:"<<name<<endl;
		cout<<"储存年数:"<<yearnumber<<endl;
		for(int i=0;i<yearnumber;i++)
		{
			cout<<"年份:"<<p.first()[i]<<endl;
			cout<<"瓶数:"<<p.second()[i]<<endl;
		}
	}
};

#include <iostream>
#include "wine.cpp"

using namespace std;

int main()
{
	cout<<"Eneter name of wine:";
	char lab[50];
	cin.getline(lab,50);
	cout<<"Enter number of year:";
	int yrs;
	cin>>yrs;
	Wine holding(lab,yrs);
	holding.GetBottles();
	holding.show();

//	Pair<int,int> a(1,2);
//	cout<<a.first()<<endl
//		<<a.second()<<endl;
	const int YRS=3;
	int y[YRS]={1993,1995,1998};
	int b[YRS]={48,60,72};
	
	Wine more("Gushing Grape Red",YRS,y,b);
	more.show();

	cout<<"Total bottles for "<<more.Label()
		<<": "<<more.sum()<<endl;
	cout<<"Bye\n";

	return 0;

}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++primer plus第六版课后编程练习答案14.1 的相关文章

  • python抽样方法详解及实现

    抽样方法概览 随机抽样 总体个数较少 每个抽样单元被抽中的概率相同 xff0c 并且可以重现 随机抽样常常用于总体个数较少时 xff0c 它的主要特征是从总体中逐个抽取 1 抽签法 2 随机数法 xff1a 随机数表 随机数骰子或计算机产生
  • ROS 1.0 学习笔记(6)CMakeLists.txt 使用说明

    ROS1中每个PKG的配置都是在CMakeList txt中 xff0c 本文从官方 WiKi 资料中翻译而来 1 概览 文件CMakeLists txt是CMake编译系统的配置文件 xff0c 用于配置需要编译软件包 任何兼容CMake
  • LQR控制算法推导以及简单分析

    首先 xff0c 这篇文章是看了几个大神的博客后 xff0c 自己抄录以及整理的内容 xff0c 其中有些自己的想法 xff0c 但是原理部分基本都是学习大神们的 xff0c 在此先说明一下 1 全状态反馈控制系统 在介绍LQR之前 xff
  • C++ Primer(第五版)|练习题答案与解析(第三章:字符串、向量和数组)

    C 43 43 Primer 第五版 练习题答案与解析 第三章 字符串 向量和数组 本博客主要记录C 43 43 Primer 第五版 中的练习题答案与解析 参考 C 43 43 Primer C 43 43 Primer 练习题3 2 编
  • ROS学习(五)导航、路径规划、SLAM

    主要涉及到3个基本包 用于让机器人在制定框架内移动到目标位置的move base包 用于从激光扫描仪 深度摄像机来绘制地图的gmapping包 用于在现有的地图中定位的amcl包 先阅读 http wiki ros org navigati
  • 微服务架构模型和进程间通信

    微服务架构 微服务的扩展模型X轴扩展在多个相同实例之间实现请求的负载均衡Y轴扩展根据功能将应用程序拆分为服务Z轴扩展根据请求的属性路由请求微服务架构与SOA的异同微服务架构的好处微服务架构的弊端 微服务进程间通信基于同步远程过程调用模式的通
  • 关于搭建guacamole-server.1.4.0简单步骤,及问题记录

    问题1 xff1a 在guacamole server 1 4 0目录下 xff0c 执行 configure 发现记录中出现以下警告 xff0c 并且VNC没有成功加载 xff08 libvncserver devel已经导入yum的情况
  • 【获奖公布】征文 | 你会为 AI 转型么?

    AI xff08 Artificial Intelligence xff09 xff0c 即人工智能 人工智能领域的研究包括机器人 语音识别 图像识别 自然语言处理和专家系统等 人工智能从诞生以来 xff0c 理论和技术日益成熟 xff0c
  • spring security filter

    一 spring security过滤器默认配置 WebSecurityConfigurerAdapter init WebSecurityConfigurerAdapter getHttp new HttpSecurity new Fil
  • 金属氢化物Fluent传热仿真论文复现(UDF加载能量源项)

    关于金属氢化物的传质传热 xff0c 论文有相应的公式 xff0c 主要是通过六个方程 xff1a 能量守恒 动量守恒 动力学方程 热力学方程和理想气态方程 相应的公式解释在这里不作过多的解释 xff0c 以后有时间 xff0c 我会专门写
  • ue4_AI_BT

    Rotate to face BB entry 大家在编写行为树的时候 xff0c 经常会遇到需求就是要把操作目标转向某人 xff0c 面对某人 xff0c UE4的行为树中 xff0c 为我们提供了节点Rotate to face BB
  • vscode在远程服务器提交git的时候无需每次都要输入账号密码的配置

    要避免在每次 git 操作时都需要输入账号和密码 xff0c 可以使用 SSH 鉴权 xff0c 具体步骤如下 xff1a 生成 SSH key在本地计算机上使用命令 ssh keygen t rsa b 4096 生成 SSH key 这
  • TLAB和逃逸分析

    逃逸分析 xff1a 对象创建在栈中 xff0c 不一定都是在堆中 xff0c 适用于无并发 xff0c jvm默认开启 TLAB xff1a 多线程并发中堆空间也有线程私有空间 xff08 除了栈外 xff09 xff0c 堆中的一小块内
  • ssh远程启动的java进程无法被杀掉

    一台客户端机器上的启动脚本 sh中 有ssh命令远程连接到另一台服务端机器并在上面启动java进程的场景中 xff0c 发现在客户端ctrl 43 c关闭正在运行的脚本 xff0c 却发现服务端上的java进程没有一起被杀掉 xff0c 新
  • centos7.x设置错误的配置文件导致无法开机一直卡着

    参照因为错误关闭Selinux导致CentOS7启动失败 进度条卡死 xff0c 图形界面加载卡死 一世一生命的博客 CSDN博客 对修改的配置文件进行还原即可 xff0c 比如重新vim 某个文件
  • idea 使用sbt构建工程时错误unresolved dependency: org.scala-sbt#sbt;0.13.8: not found

    1 出现场景 xff1a 在idea中使用sbt构建工程时 xff0c 使用默认的sbt版本为0 13 8 xff0c 而我本地安装的sbt版本是0 13 7 xff0c 所以在仓库中找不到对应的0 13 8包 2 解决 xff1a 在pr
  • vncviewer客户端连接服务器失败,报connect:connect refused(10061)

    这个问题百度了一下 xff0c 发现百度说的这个拒绝连接千遍一律都是 xff1a 1 服务器上的vnc没起来 xff0c service vncserver status 查看运行状态 xff0c 如果没起来就重新启动service vnc
  • git push 出现you are not allowed to upload merges

    你本地基于远程分支master上下载的代码工程 xff0c 修改代码并commit了 xff0c 而别人也在他电脑本地基于远程分支master上的代码工程上进行commit xff08 修改的内容可以不一样 xff0c 如果一样那么你pul
  • 桥接模式下电脑主机ping不通虚拟机,出现 :无法访问目标主机。而虚拟机能ping通主机

    1 我的状况描述 xff1a 主机 win7 ip 192 168 0 103 自动分配 xff0c 虚拟机 centos6 7桌面版 ip xff1a 192 168 0 105 昨天刚安装好了虚拟机 xff0c 主机与虚拟机直接都能相互
  • 自己写一个串口调试小助手

    串口调试小助手是我们调试手机程序经常使用的一个工具 一个十分简洁优秀的程序 xff0c 感觉似乎是使用D语言编写的 xff0c 然后作者又使用UPX加了个壳 给一些喜欢反编绎研究别人程序的人造成了一些障碍 其实串口调试小程序原理并不太难 x

随机推荐

  • 【java力扣算法《代码随想录》02】第2章程序的性能分析(刷题如果关键的部分直接用库函数就可以解决,建议不要使用库函数)

    第二章 程序的性能分析 代码随想录刷题整理刷题注意关于使用库函数ACM模式代码风格 时间复杂度O n 中 logn无底数空间复杂度 代码随想录刷题整理 代码随想录 刷题网站 刷题注意 关于使用库函数 如果题目关键的部分直接用库函数就可以解决
  • 四轴飞行器姿态控制

    四轴飞行器姿态控制 一 姿态解算相关概念 1 欧拉角 用来表示三维空间中运动物体绕坐标轴旋转的情况 xff0c 即物体每时每秒的姿态可以由欧拉角表示 2 四元数 四元数用于物体的旋转 xff0c 是一种复杂但是效率较高的旋转方式 对于一个物
  • 串级PID控制四轴飞行器状态-实现

    参考网页 xff1a http blog csdn net nemol1990 article details 45131603 一 上下运动 向上运动 xff0c 四个轴的速度同时增加向下运行 xff0c 四个轴的速度同时减小 二 前后运
  • c和c++调用Python

    参考网页 xff1a https docs python org 3 6 c api index html http blog csdn net taiyang1987912 article details 44779719 http bl
  • yoloV3 darknet GPU手把手从编译到训练再到C++调用API

    我要先声明一下 xff0c 系统是Ubuntu18 04 xff0c 我的机器已经装好了opencv4 1 1 和 cuda10 0 的 xff0c 过程可参考我另一篇博客 xff0c 这部分不再说明 IDE使用qtcreator 1 下载
  • 使用Git命令创建新分支

    1 进入Git Bash Here xff0c 查看仓库所有分支git branch a 2 使用命令 git checkout master xff0c 表示切换到master分支 xff0c 并git pull拉取最新代码 3 由于的所
  • VINS-初探(一)

    vins是香港科技大学开源的一个单目相机结合IMU的一个VIO xff0c 在github上可以下载源码 xff0c 分为iOS系统下的和ros系统下的两种 xff0c ros下的为 span class hljs label https
  • ROS使用官方包进行串口通信

    https www jianshu com p c30f390427e7 参考http span class hljs comment www roswiki com read php tid 61 557 amp fid 61 39 sp
  • STM32F446ZET6关于使用PA11,PA12,PB14,PB15的使用注意事项

    STM32F446ZET6关于使用PA11 xff0c PA12 xff0c PB14 xff0c PB15的使用注意事项 这两天在用PB14做输入时 xff0c 发现总是不灵敏 xff0c 开始还以为布线有问题 xff0c 检查后发现不是
  • numpy基本方法总结

    NumPy基本方法 一 数组方法 创建数组 xff1a arange 创建一维数组 xff1b array 创建一维或多维数组 xff0c 其参数是类似于数组的对象 xff0c 如列表等 读取数组元素 xff1a 如a 0 a 0 0 数组
  • 如何实现Qt上位机软件串口的按字节数据处理?

    1 Qt串口类的选择 最近在做一个小项目 xff0c 需要用到Qt做上位机软件 xff0c 本人也是边学边做 xff0c 买了本 QtCreator快速入门 看了看就动手了 xff0c 由于初学不是很了解Qt5的官方资源 xff0c 一开始
  • 如何使用HAL库手动修改OSC引脚为PD0/1?

    CubeMX不能直接重映射OSC引脚为PD0 1 xff0c 那么 xff0c 如何使用HAL库手动修改OSC引脚为PD0 1 如下图所示配置即可 xff1a
  • “野火FreeRTOS教程”第7章补充知识点-异常流程

    一 知识点 1 Cortex M3 4在复位后CONTROL寄存器初始值为0 xff0c 也就是说MCU会处于线程模式 具有特权访问权限且使用主栈指针 MSP 2 当进入异常时CM3会自动入栈 xff0c 如下图所示 xff1a 3 当异常
  • mini四旋翼飞行器DIY日志

    一 方案 功能描述 xff1a 具备mini四旋翼飞行器的基本功能 xff0c 可以拓展其他模块实现定高 对航向角yaw的校准 xff0c 将所有io引出并设计出最小系统板子功能 xff0c 将设计I2C总线挂载选择电路便于调试和使用 可以
  • Quartus II 13.1.0.162三件套安装包

    QuartusSetup 13 1 0 162 链接 https pan baidu com s 1B01zWG76kfNcGLA0VmwyMw 提取码 jjdd ModelSimSetup 13 1 0 162 链接 https pan
  • DSP Builder安装时的注意事项

    注意事项1 DSP Builder是以组件的形式安装在altera下面的 xff0c 并且altera要与matlab 32位 xff01 xff01 安装在同一路径下 xff0c 这个路径不要带有中文 xff0c 或者空格字符 xff0c
  • Maven3.6.1下载与配置,超详细

    Maven3 6 1下载与配置 xff0c 超详细Maven3 6 1下载与配置 xff0c 超详细Maven3 6 1下载与配置 xff0c 超详细 Maven下载与配置 1 官网下载对应版本 xff0c 推荐下载免安装版 下载地址 ht
  • 【GIS】GIS矢量空间分析(上)

    0 GIS的基本概念 栅格数据与矢量数据 上图中 xff0c a为图形模拟表示的地理对象 xff0c b为控件对象对应的栅格数据模型表示 xff0c c为对应的矢量数据模型表示 矢量模型的表达源于原型空间实体本身 xff0c 通常以坐标来定
  • ROS简介-从零开始讲解ROS(适合超零基础阅读)

    1 前言 笔者以前是机械专业 xff0c 对于计算机方面的学习是少之又少 xff0c 接触机器人的学习之后 xff0c 比如路径规划 算法等 xff0c 发现很难入门 xff0c 不过慢慢摸爬滚打之后还是有了一些认识 xff0c 俗话说的好
  • C++primer plus第六版课后编程练习答案14.1

    include lt iostream gt include lt string gt using namespace std template lt class T1 class T2 gt class Pair private T1 a