c++程序设计定义一个 (图书)类,在该类定义中包括

定义一个 (图书)类,在该类定义中包括:

(1) 成员变量:bookname(书名)、price(价格) 和number(存书数量)。

(2) 成员函数:display()显示图书的情况;borrow()将存书数量减1。并显示当前存书数量;restore( )将存书数量加1,并显示当前存书数量。

(3)定义合适的构造函数。

(4)在main函数中,要求建立某几种图书对象,并对该图书进行简单的显示、借阅和归还管理。

已知测试函数如下:

int main()

{ Book b1("English",20,3), b2("math",24,5);

b1.display();

b1.borrow();

b2.display();

b2.restore();

return 0;

}

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <cstring>
using namespace std;
class Book
{
public:
	Book(string b, double p, int n);
	~Book();
	void display();
	void borrow();
	void restore();

private:
	string bookname;
	double price;
	int number;

};

Book::Book(string b, double p, int n)
{
	bookname = b;
	price = p;
	number = n;
}

Book::~Book()
{
}
void Book::display()
{
	cout << "bookname:" << bookname << " " << "price:" << price << " " << "number:" << number << endl;
}
void Book::borrow()
{
	number--;
	cout << "number:" << number << endl;
}
void Book::restore()
{
	number++;
	cout << "number:" << number << endl;
}
int main()
{
	Book b1("English", 20, 3), b2("math", 24, 5);
	b1.display();
	b1.borrow();
	b2.display();
	b2.restore();
	return 0;
}
相关推荐
qianpeng8971 小时前
水声匹配场定位原理及实验
算法
董董灿是个攻城狮13 小时前
AI视觉连载8:传统 CV 之边缘检测
算法
blasit19 小时前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
AI软著研究员20 小时前
程序员必看:软著不是“面子工程”,是代码的“法律保险”
算法
FunnySaltyFish20 小时前
什么?Compose 把 GapBuffer 换成了 LinkBuffer?
算法·kotlin·android jetpack
颜酱21 小时前
理解二叉树最近公共祖先(LCA):从基础到变种解析
javascript·后端·算法
地平线开发者2 天前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮2 天前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者2 天前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考2 天前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习