C++primer plus第六版课后编程题答案11.5
来源:互联网 发布:云计算三种模式 编辑:程序博客网 时间:2024/04/30 16:53
Stonwth.h
#ifndef STONEWT_h_#define STONEWT_h_#include <iostream>using namespace std;enum Mode{STONE,POUNDS};//方便main115,cppclass Stonewth{private:enum {Lbs_per_stn=14};Mode mode;int stone;double pds_left;double pounds;public:Stonewth(double lbs){mode=POUNDS;//用于控制输出什么格式stone=int(lbs)/Lbs_per_stn;pds_left=int(lbs)%Lbs_per_stn+lbs-int(lbs);pounds=lbs;};Stonewth(){mode=POUNDS;//默认为镑stone=pds_left=pounds=0;};Stonewth(int stn,double lbs){mode=POUNDS;stone=stn;pds_left=lbs;pounds=stn*Lbs_per_stn+lbs;};void setMode(Mode form=STONE){if(form==STONE)mode=STONE;else if(form==POUNDS)mode=POUNDS;elsecout<<"Invail mode !"<<endl;}Stonewth operator+(const Stonewth &s)const//这里我就选最简单的了{double newpounds=pounds+s.pounds;return Stonewth(newpounds);}Stonewth operator-(const Stonewth &s)const{double newpounds=pounds-s.pounds;return Stonewth(newpounds);}Stonewth operator*(double m)const//我这里选择重载常数*{double newpounds=pounds*m;return Stonewth(newpounds);}friend ostream& operator<<(ostream &os,const Stonewth &s){if(s.mode==STONE)os<<s.stone<<" stone!"<<endl;else if(s.mode==POUNDS)os<<s.pounds+s.pds_left<<" pounds!"<<endl;elseos<<"error!"<<endl;return os;}};#endif
main115.cpp
#include <iostream>#include "stonewt.h"using namespace std;void main115(){Stonewth s1;Stonewth s2(10,5);Stonewth s3(1.5);//cout<<s2<<endl;s2.setMode(STONE);s3.setMode(STONE);//cout<<s2<<endl;//cout<<s1<<endl;//cout<<s2<<endl;//cout<<s3<<endl;Stonewth s4=s2-s3;cout<<s4<<endl;cin.get();}
0 0
- C++primer plus第六版课后编程题答案11.5
- C++primer plus第六版课后编程题答案 6.1
- C++primer plus第六版课后编程题答案 6.2
- C++primer plus第六版课后编程题答案 6.3
- C++primer plus第六版课后编程题答案 6.4
- C++primer plus第六版课后编程题答案 6.5
- C++primer plus第六版课后编程题答案 6.6
- C++primer plus第六版课后编程题答案 6.7
- C++primer plus第六版课后编程题答案 6.8
- C++primer plus第六版课后编程题答案 6.9
- C++primer plus第六版课后编程题答案7.1
- C++primer plus第六版课后编程题答案7.2
- C++primer plus第六版课后编程题答案7.3
- C++primer plus第六版课后编程题答案7.4
- C++primer plus第六版课后编程题答案7.5
- C++primer plus第六版课后编程题答案7.6
- C++primer plus第六版课后编程题答案 7.7
- C++primer plus第六版课后编程题答案7.9
- sublime Text3 ubuntu下无法输入中文解决方案
- Hadoop笔记
- 字符类型统计器(小例子)
- mongodb 32位系统下不支持超过2G的数据库
- 使用数组来初始化 vector 对象
- C++primer plus第六版课后编程题答案11.5
- linux实用命令集
- Java游戏开发规则
- RGB图像中三个通道的每个灰度值的像素个数
- 竖式问题
- java 异常捕捉 ( try catch finally ) 深度解析
- 纹理特征之(一) LBP
- spring学习笔记(12)--Introduction-AOP中的动态代理
- struts2中的文件上传下载