当前位置: 首页 > article >正文

西南科技大学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()

http://www.kler.cn/a/381903.html

相关文章:

  • OpenResty开发环境搭建
  • Odoo:免费开源ERP的AI技术赋能出海企业电子商务应用介绍
  • springboot中使用gdal将表中的空间数据转shapefile文件
  • 汽车IVI中控开发入门及进阶(四十):FDK AAC音频编解码软件库
  • panddleocr-文本检测+文本方向分类+文本识别整体流程
  • Docker容器命令
  • CTF中的phar反序列化 [SWPU 2018]SimplePHP
  • 搜维尔科技:使用Sensglove Nova2触觉反馈手套遥操作机器人操作
  • 深度学习框架1
  • 从 HTTP 到 HTTPS 再到 HSTS:网站安全的演变与实践
  • 密码学知识点整理一:密码学概论
  • C语言 — 指针的进阶
  • c语言简单编程练习9
  • 剧本杀小程序,市场发展下的新机遇
  • 鸿蒙HarmonyOS NEXT应用层架构
  • SpringBoot源码解析(一):SpringApplication构造方法
  • npm入门教程5:package.json
  • 静态库、动态库、framework、xcframework、use_frameworks!的作用、关联核心SDK工程和测试(主)工程、设备CPU架构
  • 分布式光伏发电的投融资计算
  • OTFS基带通信系统(脉冲导频,信道估计,MP解调算法)
  • 零基础快速入门MATLAB
  • Nat Med病理AI系列|哈佛大学团队发表研究,探讨深度学习在病理诊断中的公平性问题及解决方案|顶刊精析·24-11-02
  • Webserver(3.2)锁
  • 基于CentOS 7.9上安装WebLogic
  • 【STL_list 模拟】——打造属于自己的高效链表容器
  • EasyExcel 学习之 导出 “文件编码问题”