初识C++的类
//Sales_item.h
#ifndef SALESITEM_H
#define SALESITEM_H
#include <iostream>
#include<string>
class Sales_item
{
public:
std::istream &input(std::istream & in);
std::ostream & output(std::ostream & out)const;
double avg_price() const;
bool same_isbn(Sales_item& rhs)const;
Sales_item add(Sales_item& other);
Sales_item::Sales_item() :unit_sale(0), revenue(0){} private:
std::string isbn;//isbn号
int unit_sale;//数量
double revenue;//总价
}; #endif
//Sales_item.cpp
#include "Sales_item.h"
std::istream& Sales_item::input(std::istream & in){
double price;
in >> isbn >> unit_sale >> price;
if (in)
revenue = unit_sale*price;
else
{
unit_sale = 0;
revenue = 0.0;
}
return in;
}
std::ostream& Sales_item::output(std::ostream & out)const{
out << isbn << "\t" << unit_sale << "\t"
<< revenue << "\t" << avg_price();
return out;
} double Sales_item::avg_price() const{
if (unit_sale)
return revenue / unit_sale;
else
return 0.0;
}
bool Sales_item::same_isbn(Sales_item& rhs)const{
return isbn == rhs.isbn;
}
Sales_item Sales_item::add(Sales_item& other){
unit_sale += other.unit_sale;
revenue += other.revenue;
return *this;
}
//main.cpp
#include <iostream>
//#include <string>
//#include <vector>
//#include <cctype>
//#include <cstring>
//#include <bitset>
#include "Sales_item.h" using namespace std; int main(int argc, char **argv)
{
Sales_item total, trans;
cout << "Enter some transaction (ctrl + z to end)" << endl;
if (total.input(cin)){//读入第一个交易
while (trans.input(cin))
{
if (total.same_isbn(trans))
total.add(trans);
else
{
total.output(cout);
total = trans;
}
}
//输出最后一个交易
total.output(cout) << endl;
}
else
{
cout << "No data!" << endl;
return -1;
} cout << endl;
system("pause");
return 0;
}
初识C++的类的更多相关文章
- 孤荷凌寒自学python第二十一天初识python的类
孤荷凌寒自学python第二十一天初识python的类 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 类是面向对象的编程语言非常重要的概念. 编程语言的进化史中从顺序编程到结构化编程,最后才 ...
- 077 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 02 类和对象
077 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 02 类和对象 本文知识点:类和对象 说明:因为时间紧张,本人写博客过程中只是对知识点 ...
- 初识python: 类练习 - 老板&员工
需求: 1.员工具有姓名.年龄.能力值(能力值为100-年龄),可以工作,每工作一次,该员工的能力值-5,创建__str__方法,打印该员工的信息: 2.老板具有投资金额,工作量,员工列表.可以雇佣员 ...
- 初识python: 类练习 - 随机数生成
1.提取指定值之间的指定个数的随机整数. 2.继承生成随机数的类,打印"坐标". 生成随机数类: import random class GetRadndom(object): ' ...
- Java_Activiti5_菜鸟也来学Activiti5工作流_之初识常用服务类和数据表(二)
/** * 代码清单中使用 ProcessEngines类加载默认的流程配置文件(activiti.cfg.xml),再获取各个服务组件的实例. * RepositoryService主要用于管理流程 ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- python3学习笔记(2)
一.面向对象(初识)由类和方法组成,类里面封装了很多功能,根据这个类,可以创建一个这个类的对象,即对象是根据这个类创建的,以后这个对象要使用某个功能的时候就从这个类里面的找.例:str -功能一 -功 ...
- python全栈开发 * 19 面向对象 知识点汇总 * 180701
19 面向对象初识2 一.类的名称空间1.对象的名称空间对象的名称空间中有类对象指针,对象可以通过"类对象指针"找类中的"静态变量"(静态字段),也可以用对象找 ...
- 最全Java学习路线图——Java学习指南
准备篇 适用/适合人群:适合基础小白 目标:掌握JavaSE. ●技术点小节: 1.开发工具的安装配置的介绍 2.JDK安装 3.DOS环境编程 4.Eclipse的安装使用 ●JAVA基础 1.基本 ...
随机推荐
- H5页面左图右边文字如何布局
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- 介绍开源的.net通信框架NetworkComms框架之五 心跳检测
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 许可是 ...
- 云端 Linux下安装 Java
根据需要在给云端的机器安装Java 问题的分解为2个一个是Java源文件的传输.一个是Linux下Java的安装. Java 传输到云端: 可以通过SSH Secure File Transfer C ...
- UISlider
UISlider是iOS中的滑块控件 通常⽤于控制视频播放进度,控制⾳量等. 它继承于UIControl,滑块提供了⼀系列连续的值,滑块停 在不同的位置,获取到滑块上的值也不同. minimumV ...
- 【winform 学习】C# 转换成JSON对象
C#里面对json的处理有2种,JavaScriptSerializer和DataContractJsonSerializer. JavaScriptSerializer读出来就是key-value ...
- 【C++ STL编程】queue小例子
STL是标准化组件,现在已经是C++的一部分,因此不用额外安装什么. #include <queue> #include <iostream> using namespace ...
- Eclipse设置JSP页面的默认编码
1.一般新建jsp页面是默认编码为ISO-8895-1编码.但是,实际应用中为避免编码问题带来的麻烦,我们一般需要设置默认编码为UTF-8. 2.设置 Eclipse->Window->P ...
- BlackJack Strategy
GAME SPEC: 2-deck, 104 cards total. Bellagio has 2-deck and 6-deck games. based on hard 17, dealer h ...
- ios学习之路
整合网络资源和自己的实际经验,表述于此. 1 Xcode详解 非常实用的xcode介绍,详情请见外部链接http://demo.netfoucs.com/shulianghan/article/det ...
- springMVC 拦截器简单配置
在spring 3.0甚础上,起来越多的用到了注解,从前的拦截器在配置文件中需要这样配置 <beans...> ... <bean id="measurementInter ...