定义一个图书类(Book)
定义一个图书类(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)相关推荐
- 定义一个图书类Book
/*** 定义一个图书类Book* 属性包括:书名name(String类型).作者author(String类型).单价price(double类型).数量amount(int类型),并且所有属性为 ...
- 类的定义(定义一个图书类(Book)为例)
定义一个图书类(Book),包含4个属性:图书编号(bookID),图书名称(bookName),出版社(press),定价(price)和1个方法:report(),其功能是打印一本图书的所有属性值 ...
- 一个有趣的算法问题:如何定义一个分数类
一个来自于C++程序设计的经典问题.如何定义一个分数类,实现分数的约分化简,分数之间的加法.减法.乘法.除法四则运算? 1.初见 刚看到这道题的时候,第一感觉是挺简单的啊,就是基本的面向对象,定义对应 ...
- java定义一个类计算圆的半径,C++编程:定义一个圆类要求属性为半径,操作为计算圆的周长和面积...,java编程:定义一个圆类,属性为半径,方法为对输入的半径计...
导航:网站首页 > C++编程:定义一个圆类要求属性为半径,操作为计算圆的周长和面积...,java编程:定义一个圆类,属性为半径,方法为对输入的半径计 C++编程:定义一个圆类要求属性为半径, ...
- 类的继承定义一个computer类在此基础上派生出两个子类(继承与多态绑定)
题目如下 定义一个计算机类(Computer),并在它的基础上派生出两个子类:台上机(Desktop)和便携机类(Notebook),在Computer中定义几个方法,并在子类Desktop和Note ...
- 定义一个复数类Complex,重载运算符+
定义一个复数类Complex,重载运算符"+".使之能用于复数的加法运算,将运算符函数重载为非成员.非友员的普通函数.编写程序求2个复数之和. #include<iostre ...
- python定义一个dog类 类属性有名字毛色体重_面向对象实践,练习,Python
1.定义一个汽车类(Car),属性有颜色,品牌,车牌号,并实例化两个对象 2.定义一个球员类(Player),属性有身高.体重.姓名,实例化两个球员,分别是姚明和科比 3.定义一个僵尸类(Zombie ...
- 定义一个圆类——Circle,在类的内部提供一个属性:半径(r),同时 提供 两个 方 法 : 计算 面积 ( getArea() ) 和 计算 周长(getPerimeter()) 。
定义一个圆类--Circle,在类的内部提供一个属性:半径®,同时 提供 两个 方 法 : 计算 面积 ( getArea() ) 和 计算 周长(getPerimeter()) . 通过两个方法计算 ...
- JAVA入门级教学之(定义一个学生类)
首先定义一个学生类 学生类是一个模板,里面描述了学生的共同特征[状态+行为] 当前类只描述学生的状态信息[属性] Student是类,属于引用数据类型,这个类型名就是:Student ...
最新文章
- 如何删除有病毒的网站?
- 最热门的100个Web2.0网站
- TensorFlow教程之API DOC 6.3.10. NN
- springMVC学习笔记_转载(一)-----springMVC原理
- R语言ETL工程:插入与合并(add/bind)
- Hive内表和外表浅析
- ASEMI代理ADI(亚德诺)AD5934YRSZ-REEL7车规级芯片
- 【软考软件评测师】2015年下案例分析历年真题
- Java学习经典《第一行代码》第二版
- 045:魔兽世界三(开战) 程序设计实习MOOC / 程序设计与算法(三)测验题汇总(2020春季) 已经结束
- 树莓派一键变身无线路由器
- 64位字长的高性能微型计算机,计算机中的字长
- 不动点迭代(Fixed Point Iteration)
- webpack.base.conf.js文件
- 【obs】动态码率:码率估算
- 论文写作:MathType公式居中编号居右设置
- 【学习cmake】cmake如何使用链接库 (link_directories, LINK_LIBRARIES, target_link_libraries,FIND_PACKAGE)实践篇2
- 2019年(第12届)中国大学生计算机设计大赛
- python彩票分析_028期秀才福彩3D预测奖号:双胆推荐
- 【2022】Rethinking Symbolic Regression Datasets and Benchmarks for Scientific Discovery