定义一个图书类(Book),数据成员包括:书名、作者、单价、数量;成员函数包括:借书、还书、显示;借书时判断数量,如果数量为0输出书名借阅失败,如果数量大于0,数量减1并输出书名和剩余数量。还书时数量加1并输出书名和剩余数量。显示时能够输出图书的所有信息。创建图书对象时,可以给出书名、作者、单价、数量的数据进行初始化;也可以不给出任何数据,此时图书的书名是未命名,作者是佚名,单价是0,数量是0。在主函数中创建图书对象book1和book2,book1初始化为“人类简史”、赫拉利、68、10。book2不初始化。然后分别输出book1和book2的信息。book1借书2次,book2借书1次,还书1次,最后再分别输出book1和book2的信息。

#include <string.h>
#include <iostream>
using namespace std;
class Book
{public:Book(string book, string writer, int num, int money);Book();void bring();void ret();void show();
private:string book;string writer;int num;int money;
};
Book::Book(string book, string writer, int num, int money)
{this->book = book;this->writer = writer;this->num = num;this->money = money;
}
Book::Book()
{book = "未命名";writer = "佚名";num = 0;money = 0;
}
void Book::bring()
{if (num <= 0)cout << "借阅失败";elsenum--;cout << book << "剩余" << num << "本" << endl;
}
void Book::ret()
{num++;cout << book << "剩余" << num << "本" << endl;
}
void Book::show()
{cout << book << "作者:" << writer << money << "剩余" << num << "本" << endl;
}
int main()
{Book book1("人类简史", "赫拉利", 68, 10);Book book2;book1.show();book2.show();book1.bring();book1.bring();book2.bring();book2.ret();book1.show();book2.show();return 0;
}

定义一个图书类(Book)相关推荐

  1. 定义一个图书类Book

    /*** 定义一个图书类Book* 属性包括:书名name(String类型).作者author(String类型).单价price(double类型).数量amount(int类型),并且所有属性为 ...

  2. 类的定义(定义一个图书类(Book)为例)

    定义一个图书类(Book),包含4个属性:图书编号(bookID),图书名称(bookName),出版社(press),定价(price)和1个方法:report(),其功能是打印一本图书的所有属性值 ...

  3. 一个有趣的算法问题:如何定义一个分数类

    一个来自于C++程序设计的经典问题.如何定义一个分数类,实现分数的约分化简,分数之间的加法.减法.乘法.除法四则运算? 1.初见 刚看到这道题的时候,第一感觉是挺简单的啊,就是基本的面向对象,定义对应 ...

  4. java定义一个类计算圆的半径,C++编程:定义一个圆类要求属性为半径,操作为计算圆的周长和面积...,java编程:定义一个圆类,属性为半径,方法为对输入的半径计...

    导航:网站首页 > C++编程:定义一个圆类要求属性为半径,操作为计算圆的周长和面积...,java编程:定义一个圆类,属性为半径,方法为对输入的半径计 C++编程:定义一个圆类要求属性为半径, ...

  5. 类的继承定义一个computer类在此基础上派生出两个子类(继承与多态绑定)

    题目如下 定义一个计算机类(Computer),并在它的基础上派生出两个子类:台上机(Desktop)和便携机类(Notebook),在Computer中定义几个方法,并在子类Desktop和Note ...

  6. 定义一个复数类Complex,重载运算符+

    定义一个复数类Complex,重载运算符"+".使之能用于复数的加法运算,将运算符函数重载为非成员.非友员的普通函数.编写程序求2个复数之和. #include<iostre ...

  7. python定义一个dog类 类属性有名字毛色体重_面向对象实践,练习,Python

    1.定义一个汽车类(Car),属性有颜色,品牌,车牌号,并实例化两个对象 2.定义一个球员类(Player),属性有身高.体重.姓名,实例化两个球员,分别是姚明和科比 3.定义一个僵尸类(Zombie ...

  8. 定义一个圆类——Circle,在类的内部提供一个属性:半径(r),同时 提供 两个 方 法 : 计算 面积 ( getArea() ) 和 计算 周长(getPerimeter()) 。

    定义一个圆类--Circle,在类的内部提供一个属性:半径®,同时 提供 两个 方 法 : 计算 面积 ( getArea() ) 和 计算 周长(getPerimeter()) . 通过两个方法计算 ...

  9. JAVA入门级教学之(定义一个学生类)

    首先定义一个学生类          学生类是一个模板,里面描述了学生的共同特征[状态+行为] 当前类只描述学生的状态信息[属性] Student是类,属于引用数据类型,这个类型名就是:Student ...

最新文章

  1. 如何删除有病毒的网站?
  2. 最热门的100个Web2.0网站
  3. TensorFlow教程之API DOC 6.3.10. NN
  4. springMVC学习笔记_转载(一)-----springMVC原理
  5. R语言ETL工程:插入与合并(add/bind)
  6. Hive内表和外表浅析
  7. ASEMI代理ADI(亚德诺)AD5934YRSZ-REEL7车规级芯片
  8. 【软考软件评测师】2015年下案例分析历年真题
  9. Java学习经典《第一行代码》第二版
  10. 045:魔兽世界三(开战) 程序设计实习MOOC / 程序设计与算法(三)测验题汇总(2020春季) 已经结束
  11. 树莓派一键变身无线路由器
  12. 64位字长的高性能微型计算机,计算机中的字长
  13. 不动点迭代(Fixed Point Iteration)
  14. webpack.base.conf.js文件
  15. 【obs】动态码率:码率估算
  16. 论文写作:MathType公式居中编号居右设置
  17. 【学习cmake】cmake如何使用链接库 (link_directories, LINK_LIBRARIES, target_link_libraries,FIND_PACKAGE)实践篇2
  18. 2019年(第12届)中国大学生计算机设计大赛
  19. python彩票分析_028期秀才福彩3D预测奖号:双胆推荐
  20. 【2022】Rethinking Symbolic Regression Datasets and Benchmarks for Scientific Discovery

热门文章

  1. 神经网络和pid有什么区别,基于神经网络的pid控制
  2. 奇虎360校园招聘2015笔试题目
  3. 介绍一款好用的flash播放器(Vcastr 3.0 – flash video(flv) player)
  4. 利用XAG在RAC环境下实现GoldenGate自动Failover
  5. Ajax简单实现注册用户名校验
  6. wordpress插件_13个适用于WordPress的免费用户管理插件
  7. 数字电子技术基础大作业---电子表、流水灯
  8. 虾皮电商选品时必须注意哪些是违禁品
  9. 图形学(2)光栅图形学的直线绘制(上)
  10. 工作中遇到的IE6兼容性问题及解决办法