西南科技大学C++作业1——组合依赖关系实验代码
目录
一、实现效果预览
二、实验要求
三、实现代码
book.h
book.cpp
borrow.h
borrow.cpp
library.h
library.cpp
student.h
student.cpp
main.cpp
一、实现效果预览
二、实验要求
作业1:类与类关系设计(组合或依赖)
目 的:
1) 巩固类的定义,成员变量、成员方法的定义;
2) 巩固类的对象的定义,对象对成员变量、成员方法的访问;
3) 掌握类之间的组合关系或依赖关系;
要 求:
1)认真阅读实验指导书实验一和实验二内容,单人完成;
2)选题依据自己所选参考,后续题目将在这一次题目上进行扩展优化。功能
最好不要删减,进行扩展增加。
3)提交材料包括:对分易上提交作业源码(把.h和.cpp文件压缩成一个压缩
包上传,也可以去掉debug文件夹其他打包上传)与文档作业。
组合关系描述:
合理设计类与类的组合关系,即一个类要嵌套另一个类的对象作为成员变量,根据问题的需要可以是同一个类的多个对象(可以使用对象数组),也可以是不同类的多个不同对象。要求要对生成的对象的数据成员进行初始化、修改、获取、输出等基本操作,还应能完成其他一些合理的功能操作。让所设计的功能发挥作用。
题目1:题库类组合三角形题目类(简单几何图形题库系统)
题库类数据成员:题库名称、题目数量、包含的所有题目、所做题目的成绩、平均分;(整体类)
在之前三角形题类的抽象中可以加入一些数据成员如:题目编号、用户答案、正确答案等;(部分类)
基本操作:对数据成员的初始化、修改、获取、输出显示等操作;
其他操作:计算得到正确答案,输入自己的题目的答案,向题库内增加题目,在题库内删除题目,查询题库的题目。
题目4:绘制画布类(简单绘制图形系统)(先不考虑使用相关库先进行逻辑抽象)
数据成员:多个不同位置的绘制图形;
基本操作:将多个图形的数据显示打印出来显示在屏幕(可以暂时不使用EasyX库实现,用数据表现即可)。
依赖关系描述:
合理设计类与类的依赖关系,最常见的就是一个类的成员函数的参数中出现了另一个类的对象指针或对象引用,根据问题的需要进行依赖关系的设计。要求要对生成的对象的数据成员进行初始化、修改、获取、输出等基本操作,调用其表现依赖关系的成员函数,使其发生作用。
题目2:狼吃羊(生态系统模拟系统)
模拟抽象狼和羊两种动物,抽象出应有的成员变量,如动物的一些生命特征。针对狼吃羊这种依赖关系,在狼类里设计一个合理的成员函数实现狼吃羊的功能,规则可以根据狼和羊的生命状态进行设计,合理即可。并生成出狼和羊的对象实现这一功能。
题目3:学生借书 (图书馆借阅管理系统)
对学生和图书进行抽象,抽象出应有的成员变量,和基本的初始化,修改等成员函数,学生可以发起借书的操作,这是一种依赖关系,在学生类中将设计相应的成员函数体现这一功能操作,合理即可,可以用输出借书是否成功的结果,有一定示意就可以。并生成对象完成借阅图书功能。
三、实现代码
目录结构
book.h
#ifndef BOOK_H
#define BOOK_H
class Book
{
private:
long id; //书id
string name; //书名
string author; //作者
string publication; //出版社
int amount; //库存量
public:
void input();
/*
** 同Student定义,这几项主要是方便测试功能时定义初始值。
*/
void setid(long n){id=n;}
void setamount(int n){amount=n;}
void setname(string s){name=s;}
void setauthor(string s){author=s;}
void setpublic(string s){publication=s;}
/*
** 获取各项信息
*/
long getid(){return id;}
string getname(){return name;}
int getamount(){return amount;}
void show()