博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++PrimerChap7类
阅读量:6294 次
发布时间:2019-06-22

本文共 1231 字,大约阅读时间需要 4 分钟。

仅仅记录贴,按书上的做完了一边,想把private分离出来已经很难了。因为is用到的成员变量都是直接当做public使用的,如果要改的话可以考虑存储输入,让后用构造函数对类进行初始化。

#include
using namespace std;class Sales_data{public: string bookNo; unsigned unit_sold; double revenue; string isbn()const {return this->bookNo; } double avg_price()const; Sales_data &combine(const Sales_data&); Sales_data(istream &is); //友元函数 friend Sales_data add(const Sales_data& ls,const Sales_data& rs);}; Sales_data add(const Sales_data& ls,const Sales_data& rs){ Sales_data sum = ls; sum.combine(rs); return sum;}//返回的值是对ostream的引用 ostream &print(ostream& os,const Sales_data &item){ os<
<
<
<
<
<
>item.bookNo >>item.unit_sold >>price; item.revenue = price * item.unit_sold; return is;}double Sales_data::avg_price()const{ if(revenue)return revenue/unit_sold; else return 0;}Sales_data& Sales_data::combine(const Sales_data& rhs){// this->revenue = this->revenue + rhs.revenue; this->revenue += rhs.revenue; this->unit_sold += rhs.unit_sold; return *this;} //外部定义构造函数Sales_data::Sales_data(istream &is) { read(is,*this); } int main(){ return 0;}

  

 

转载于:https://www.cnblogs.com/ashen/p/4396890.html

你可能感兴趣的文章
MyBatis-Plus | 最简单的查询操作教程(Lambda)
查看>>
rpmfusion 的国内大学 NEU 源配置
查看>>
spring jpa 配置详解
查看>>
IOE,为什么去IOE?
查看>>
Storm中的Worker
查看>>
dangdang.ddframe.job中页面修改表达式后进行检查
查看>>
Web基础架构:负载均衡和LVS
查看>>
Linux下c/c++相对路径动态库的生成与使用
查看>>
SHELL实现跳板机,只允许用户执行少量允许的命令
查看>>
SpringBoot 整合Redis
查看>>
2014上半年大片早知道
查看>>
Android 6.0指纹识别App开发案例
查看>>
正文提取算法
查看>>
轻松学PHP
查看>>
Linux中的网络监控命令
查看>>
this的用法
查看>>
windows下安装redis
查看>>
CentOS7 yum 安装git
查看>>
启动日志中频繁出现以下信息
查看>>
httpd – 对Apache的DFOREGROUND感到困惑
查看>>