面向对象程序设计实验报告.doc
文本预览下载声明
综 合 实 验 报 告
专业名称:班 级:_____ ___________
姓 名:
信息科学与工程学院
二零一年月 2
1.1题目概述 2
1.2设计思路 2
1.3设计说明与调试分析 2
1.4编码实现 3
1.5程序运行结果 4
1.6设计心得 4
第二题: 5
2.1题目概述 5
2.2设计思路 5
2.3设计说明与调试分析 5
2.4编码实现 5
2.5程序运行结果 7
2.6设计心得 8
第一题:
1.1题目概述
用抽象类设计计算二维平面图形图形面积的程序,在基类TDshape中设计纯虚函数area()和printName(),area()用于计算几何图形的面积,printName()用于打印输出几何图形的类名,如Triangle类的对象就打印输出“Triangle”。每个具体形状的类则从抽象类TDshape派生,各自需要定义其他独有的数据成员和成员函数,并且定义area()和printName()的具体实现代码,如图所示。
要求编写以TDshape为接口的函数,借以访问具体类如Triangle和Rectangle类的成员函数area(),printName ()。
1.2设计思路
由简到繁,逐步实现。
1.3设计说明与调试分析
编写基类TDshape-编写虚函数-编写继承类Triangle -实例化 TDshape和Triangle -调用基类虚函数实现调用继承类相应函数-同样的方式处理继承类Rectangle.
1.4编码实现
#includeiostream
using namespace std;
class TDshape{
public:
virtual void area()=0;
virtual void printName()=0;
};
class Triangle:public TDshape{
private:
double width,height;
public:
void setwidth(double x){width=x;}
void setheight(double x){height=x;}
double getwidth(){return width;}
double getheight(){return height;}
void area(){cout面积:width*height*0.5endlendl;}
void printName(){cout图形:Triangle endl;}
};
class Rectangle:public TDshape{
private:
double width,height;
public:
void setwidth(double x){width=x;}
void setheight(double x){height=x;}
double getwidth(){return width;}
double getheight(){return height;}
void area(){cout面积:width*heightendlendl;}
void printName(){cout图形:Rectangle endl;}
};
void main(){
TDshape *p;
Triangle t;
Rectangle r;
p=t;
t.setheight(120);
t.setwidth(80);
p-printName();
p-area();
p=r;
r.setwidth(120);
r.setheight(80);
p-printName();
p-area();
}
1.5程序运行结果
1.6设计心得
1.可以用引用和指针两种方式来通过访问基类虚函数实现访问相应类函数。
2.可以将main 函数中的相关类成员函数分离出去,方法是在类后面编写全局函数作为类和 main 函数的接口。
第二题:
2.1题目概述
假设有一个工人类。形式如下:
class Worker
{
char name[10];
int age;
double salary;
public:
Worker()
{}
Worker(...)
void SetData(char *Name,int Age,double wage)
void Display()
}
其中name表示姓名,age表示年龄,salary表示薪金,构造函数Worker()实现个数据成员的初始化,SetD
显示全部