实验8报告模板

更新时间:2023-10-03 16:43:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

深 圳 大 学 实 验 报 告

实验课程名称: 程序设计实验与课程设计

实验项目名称: 实验8 虚函数与多态

学院: 计算机与软件学院 专业: 软件工程

报告人: 黄健勇 学号: 2012150253 班级: 软工2

同组人:

指导教师: 朱安民

实验时间: 2014-05-19 提交时间: 2014-05-19

声明:

本次实验内容由报告人和同组人独立完成,所有涉及到他人的工作均已说明。报告人和同组人均同意教师及学校为教学活动而引用本实验的内容,且无需事先征得同意和特别说明。

教务处制

实验名称,实验人姓名,页码

一、实验目的

1.理解多态的概念

2.了解多态的实现所需要的要素和多态的应用场景 3.掌握多态的实现方法

二、实验说明和实验环境

某银行的支票账户分为两类,一为基本支票账户Base Account,另一为具有透支保护特性的Base Plus支票账户。即当用户签出一张超出其存款余额的支票,但其超出的数额并不是很大时,银行将支付这张支票,但会对超出部分收取额外10%费用。

Base Account支票账户的信息包括:客户姓名、账户、当前结余;账户可以执行的操作包括:创建账户、存款、取款(大于余额时不予取款)、显示账户信息。

Base Plus支票账户除包含Base Account的所有信息外,还包括以下信息:透支上限(默认为500元),透支贷款利率(默认为10%),当前透支总额;账户可执行的操作与Base Account相同,但有两种操作的实现不同:(1)取款,需考虑透支保护;(2)显示,需显示全部信息。

请实现BaseAccount类和BasePlus类,其中BasePlus类继承于BaseAccount类。在主函数中分别对取款和显示函数的调用实现多态。

三、实验分析设计

1、Class 类1

Class类2:public 类1 //实现继承

2、在子类方法重新写一个方法实现重载

四、核心代码说明

#include using namespace std; #include #include

class BasePlus;

class Baseaccount //Baseaccount类 {

public:

string name; int number;

实验名称,实验人姓名,页码

double money; void display();

void fund(string,double); void draw(double); void save(double); };

class Baseplus:public Baseaccount //Baseplus类 {

public:

double rate; double uplimit; double over; void display();

void fund(string,double); void draw(double); };

void Baseaccount::fund(string a,double b) //父类实现 {

name=a; number=b; money=0; }

void Baseaccount::save(double d) {

money+=d; }

void Baseaccount::draw(double e) {

if(money>e) money-=e; else cout<<\}

void Baseaccount::display() {

cout<<\

cout<<\ cout<<\}

实验名称,实验人姓名,页码

void Baseplus::fund(string a,double b) //子类实现 {

name=a; number=b; over=0; rate=0.1; uplimit=500; }

void Baseplus::draw(double b) //重载draw方法 {

if(b-money<=uplimit) money-=b; else cout<<\

if(money<0) { over=money*rate; over+=money; money=0; } else over=0; }

void Baseplus::display() //重载display方法 {

cout<<\

cout<<\ cout<<\ cout<<\ cout<<\ cout<<\}

int main() //主函数 {

Baseaccount a; Baseplus b; string c,c0,d,d0; double e,e0; double f,f0,g,g0; cin>>e>>c; a.fund(c,e); cin>>f>>g;

实验名称,实验人姓名,页码

}

a.save(f); a.draw(g); a.display(); cout<>e0>>c0; b.fund(c0,e0); cin>>f0>>g0; b.save(f0); b.draw(g0); b.display(); return 0;

五、测试与结果 Vc通过,测评系统未过

实验名称,实验人姓名,页码

六、总结与分析

基本符合实验要求,编程中bug特别多,每一步都必须小心 七、参考资料

(项目开发文档、程序设计指导书等)

实验名称,实验人姓名,页码

指导教师批阅意见: 实验报告内容的确完整性 (20分) 完整 20 √ 较完整 15 不够完整 10 实验设计的清晰程度 (20分) 清晰 20 较清晰 15 不够清晰 10 实验数据的准确性 (20分) 准确 20 较准确 15 不够准确 10 实验结果和分析的正确性 (20分) 正确 20 较正确 15 不够正确 10 实验态度(实验表现、格式排版、独立完成、按时提交)(20分) 规范 20 较规范 15 不够规范 10 说明: 说明: 说明: 说明: 说明: 成绩评定: 指导教师签字: 朱安民 2014 年 5 月 23 日 备注: 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

2、教师批改学生实验报告时间应在学生提交实验报告时间后15工作日内。

本文来源:https://www.bwwdw.com/article/y2wd.html

Top