书店管理系统----涵盖C++大部分主题

该博客介绍了使用C++编程语言实现的书店管理系统,涵盖了销售记录的虚基类定义,类的继承,管理类的设计及其实现,以及测试主函数的编写。
摘要由CSDN通过智能技术生成

文件1:sales_item.h

内容:定义一个销售记录的虚基类

#ifndef  SALESITEMS_H
#define  SALESITEMS_H

#include <iostream>
#include <string>
using namespace std ;

// 定义一个销售记录的抽象类
class Sales_item
{
public:
	// 默认构造函数
	Sales_item() : sold_number(0), unit_price(0) , flag(0)  //成员初始化列表
	{
	} 

	// 拷贝构造函数
	Sales_item( const Sales_item& item ) ;

	// 重载赋值运算符
	Sales_item& operator = ( const Sales_item& ) ;

	virtual double Gettotal_price() = 0 ; //纯虚函数定义 ,功能是返回这本书总共卖的钱

	double aver_price() ;

public: 
	string isbn ;			//这本书的ISBN
	unsigned sold_number;	//销售册数
	double unit_price;		//每册数的单价
	double total_price ;	//这本书总共卖的钱
	int flag ;
} ;

#endif

文件2:sales_item.cpp

内容:头文件sales_items.h的实现文件


#include "sales_item.h"

double Sales_item::Gettotal_price() 
{
	return total_price ;
}

double Sales_item::aver_price()
{
	return total_price / sold_number ;
}

Sales_item::Sales_item( const Sales_item& item )
{
	isbn = item.isbn ;
	sold_number = item.sold_number ;
	total_price = item.total_price ;
	unit_price = item.unit_price   ;
}

Sales_item& Sales_item::operator = ( const Sales_item& item )
{
	isbn = item.isbn ;
	sold_number = item.sold_number ;
	total_price = item.total_price ;
	unit_price = item.unit_price   ;

	return *this ;
}








文件3:mySales_item.h

内容:继承自文件sales_item.h中的类

#ifndef MYSALESITEM_H
#define MYSALESITEM_H

#include "Sales_item.h"
#include <iostream>
#include <string>
#include <vector>
using namespace std ;

class MySales_item ;

bool operator== ( const MySales_item & item1 , const MySales_item& item2 ) ;
bool operator == ( const MySales_item& item , const string& isbn ) ;

class MySales_item : public Sales_item
{
public:

	MySales_item( int sold_number = 0 , int unit_price =  0 , int flag = 0 ) :
	Sales_item() 
	{ }  // 默认构造函数

	MySales_item( const MySales_item & item ) ;  // 拷贝构造函数

	virtual double Gettotal_price() ;  // 返回共卖的钱

	friend bool operator== ( const MySales_item & item1 , const MySales_item& item2 ) ;

	friend bool operator == ( const MySales_item& item , const string& isbn ) ;

	MySales_item& operator= ( const MySales_item & item ) ;

    MySales_item& operator+= ( MySales_item & item ) ;
  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值