C++Primer Plus第十一章类的使用,课后练习5,重写Stonewt类,实现类的加减乘,用友元实现<<的重载

  1. 重新编写 Stonewt类(程序清单11.16和程序清单 11.17),使它有一个状态成员,
    由该成员控制对象应转换为英石格式、整数磅格式还是浮点磅格式。重载<<运算符,
    使用它来替换show_stn()和 show_Ibs()方法。重载加法、减法和乘法运算符,
    以便可以对 Stonewt 值进行加、减、乘运算。编写一个使用所有类方法和友元的小程序,
    来测试这个类。
#pragma once
//stonewt.h  -- definition for the stonewt class
#ifndef PE11_5_H_
#define PE11_5_H_
#include<iostream>
class Stonewt
{
   
   
public:
	enum Mode {
   
    ST_STONE,ST_PDS_LEFT, ST_POUNDS };
private:

	enum {
   
    Lbs_per_stn = 14 };	//pouns per stone 转换因子
	int stone;					//英石格式 
	double pds_left;			//浮点磅格式
	double pounds;				//整数格式磅
	void setpounds();
	Mode mode;
public:
	friend Stonewt operator+(const Stonewt& s1, const Stonewt& s2);
	friend Stonewt operator-(const Stonewt& s1, const Stonewt& s2);
	friend Stonewt operator*(double s1, const  Stonewt& s2
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值