<pre name="code" class="plain"><strong><span style="font-size:14px;"><strong>#ifndef SALESITEM_H
// 若SALESITEM_H未被定义,则对其进行定义;
#define SALESITEM_H
// 自定义头文件Version_test;
#include "Version_test.h"
//Sales_item类定义的相关函数
#include <iostream>
#include <string>
class Sales_item {
/*定义为友元函数,重载输入运算符>>;
**第1个形参:运算符将要读取的流的引用;第2个形参:将要读入到的对象的引用;
**第2个形参必须是非常量,因为本操作就是向此对象写入数据,此对象值会改变;
*/
friend std::istream& operator>>(std::istream&, Sales_item&);
/*定义为友元函数,重载输出运算符<<;
**第1个形参:非常量ostream对象的引用;第2个形参:一个常量的引用;
**第1个形参必须是非常量,因为本操作就是向流写入数据,其状态会改变;
**第2个形参:引用是因为避免赋值实参;常量是因为通常打印对象不会改变对象本身的值;
*/
friend std::ostream& operator<<(std::ostream&, const Sales_item&);
/*定义为友元函数,重载关系运算符<;
**第1个/第2个形参:一个常量的引用;
**引用是因为避免改变实参;常量是因为比较对象并不需要改变对象本身的值;
*/
friend bool operator<(const Sales_item&, const Sales_item&);
/*定义为友元函数,重载相等运算符==;
**定义两个对象是否相等,会比较对象的每一个数据成员,只有对应成员均相等时才相等;
C++ Primer中Sales_item.h代码解析
最新推荐文章于 2024-05-07 22:48:48 发布