实验六继承性与多态性

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖北工业大学工程技术学院实验报告

课程名称:面向对象程序设计实验内容:实验六继承性与多态性

学院:工程技术学院专业班级:

姓名:学号:指导教师:

实验日期:实验地点:

一、实验目的

1、1、了解多态性的概念。

2、2、了解虚函数的作用及使用方法。

3、3、了解纯虚函数和抽象类的概念和用法。

二、实验步骤

1.设计一个类层次,其中的基类为Date,它拥有一个相关数据成员及一个虚函

数print,从Date类派生ShortE、MediumDate和LongDate类,Date的print 函数使用日期格式:11-26-2015,

ShortE的print函数使用日期格式:26-11-2015

MediumDate的print函数使用日期格式:Nov.26,2015

LongDate的print函数使用日期格式:November 26, 2015

编写一个程序来测试各个类的print函数。

#include

using namespace std;

class Date

{

protected:

int year,month,day;

public:

Date(int y,int m,int d)

{

year=y;

month=m;

day=d;

}

virtual void print()

{

cout<

}

};

class ShortE:public Date

{

public:

ShortE(int y,int m,int d):Date(y,m,d){} void print()

{

cout<

}

};

class MediumDate:public Date

{

public:

MediumDate(int y,int m,int d):Date(y,m,d){} void print()

{

switch(month)

{

case 1:cout<<"Jap.";break;

case 2:cout<<"Feb.";break;

case 3:cout<<"Mar.";break;

case 4:cout<<"Apr.";break;

case 5:cout<<"May.";break;

case 6:cout<<"Jun.";break;

case 7:cout<<"Jul.";break;

case 8:cout<<"Aug.";break;

case 9:cout<<"Sep.";break;

case 10:cout<<"Oct.";break;

case 11:cout<<"Nov.";break;

case 12:cout<<"Dec.";break;

default:cout<<"error";

}

cout<

}

};

class LongDate:public Date

{

public:

LongDate(int y,int m,int d):Date(y,m,d){} void print()

{

switch(month)

{

case 1:cout<<"January.";break;

case 2:cout<<"February.";break;

case 3:cout<<"March.";break;

case 4:cout<<"April.";break;

case 5:cout<<"May.";break;

case 6:cout<<"June.";break;

case 7:cout<<"July.";break;

case 8:cout<<"August.";break;

case 9:cout<<"September.";break;

case 10:cout<<"October.";break;

case 11:cout<<"November.";break;

case 12:cout<<"December.";break;

default:cout<<"error";

}

cout<

}

};

void main()

{

Date d1(2015,11,26),*d;

ShortE d2(2015,11,26);

MediumDate d3(2015,11,26);

LongDate d4(2015,11,26);

d=&d1;

d->print();

d=&d2;

d->print();

d=&d3;

d->print();

d=&d4;

d->print();

}

写出实验步骤、调试记录和实验结果:

相关文档
最新文档