太原理工大学面向对象设计实验报告——继承与派生.doc
文本预览下载声明
本科实验报告
课程名称: 面向对象程序设计
实验项目: 继承与派生
实验地点: 逸夫楼302
专业班级: 学号:
学生姓名:
指导教师: 王丽娟
2013年 1月 9日
实验目的和要求
(1)掌握类的继承和派生过程;
(2)掌握派生类的定义与使用;
(3)掌握派生类的构造函数与析构函数的应用及调用顺序;
(4)学习使用VISUAL C++调试类的继承关系的应用。
二、实验内容和原理
(1)声明一个基类BaseClass,有整数类型成员变量Number,构造基派生类DerivedClass,实现其构造函数和析构函数,完善类的功能与结构。
(2)声明一个基类SHAPE,在此基础上派生出Rectangle和Circle,二者都有GetArea()函数计算对象的面积。使用Rectangle类创建一个派生类Square;完善类的功能与结构。
三、主要仪器设备
HP 6460b;Visual Studio 2008软件环境。
操作方法与实验步骤
(1)
#include stdafx.h
#include iostream
using namespace std;
class basicclass
{
private:
int number;
public:
basicclass()
{
coutclass basicclass is constructor...endl;
}
~basicclass()
{
coutclass basicclass is destructor...endl;
}
};
class derivedclass:public basicclass
{
public:
derivedclass()
{
coutderivedclass is constructor.... endl;
}
~derivedclass()
{
coutderivedclass is destructor.... endl;
}
};
void main()
{
derivedclass m;
return 0;
}
(2)
#include stdafx.h
#includeiostream
using namespace std;
const double PI=3.1415926;
class SHAPE
{
public:
double GetArea(){
coutshapeendl;
}
};
class Rectangle:public SHAPE
{
public:
double x,y;
Rectangle(double x,double y)
{
this-x=x;
this-y=y;
}
double GetArea(){
coutRectangle Area: x*yendl;
return 0;
}
};
class Circle : public SHAPE
{
public:
double x;
Circle(double x)
{
this-x=x;
}
double GetArea()
{
coutCircle Area: PI*x*xendl;
return 0;
}
};
class Square : public Rectangle
{
public:
Square(double x,double y):Rectangle(x,y)
{
}
void GetSquare()
{
Rectangle::GetArea();
}
};
int main()
{
Rectangle *r=new Rectangle(5,7);
r-GetArea();
Circle *c=new Circle(3);
c-GetArea();
Square *s= new Square(6,6);
s-GetSquare();
delete r;
delete c;
delete s;
}
实验数据记录和处理
显示全部