当前位置:首页 > 《面向对象程序设计》实验册
金陵科技学院实验报告
一、实验目的和要求
1.掌握利用单继承和多重继承的方式定义派生类的方法。 2.理解在各种继承方式下构造函数和析构函数的执行顺序。
3.理解和掌握public、protected、private对基类成员的访问机制。 4.理解虚基类的概念,引入虚基类的目的和作用。 5. 理解在虚基类时的构造函数和析构函数的执行顺序。
二、实验设备和环境
1.计算机每人一台。
2.安装WindowsXP或者以上版本操作系统。
3.安装Visual C++6.0或者Visual C++2005以上版本。
三、实验内容及步骤
1.分析以下程序,写出运行结果。 #include
public:
Base() {cout<<\执行基类构造函数\ ~Base() {cout<<\执行基类折构函数\};
class Derive:public Base {
public:
Derive() {cout<<\执行派生类构造函数\ ~Derive() {cout<<\执行派生类折构函数\};
void main() {
Derive d; }
运行结果:
金陵科技学院实验报告
2. 分析以下程序,写出运行结果。 #include
public:
Base(){cout<<”基类构造函数”< ~Base(){cout<<”基类析构函数”< class Derive:public Base { public: Derive(){cout<<”派生类构造函数”< void main() { Derive *p=new Derive; Delete p; } 运行结果: 3.求一个三角形物体的面积,同时求一个圆形物体的面积(要求使用继承)。 #include using namespace std; class Object { public: void getData() { cout<<\ cin>>x>>y>>z; } protected: int x,y,z; }; class Triangle:public Object { 金陵科技学院实验报告 public: void getData() { cout<<\ Object::getData(); } double Area() { double d=(x+y+z)/2; double s=sqrt(d*(d-x)*(d-y)*(d-z)); return s; } }; class Circle:public Object { public: void getData() { cout<<\ Object::getData(); } double Area() { double s=x*x*3.1415; return s; } }; void main() { Triangle t; t.getData(); cout<<\ Circle c; c.getData(); cout<<\} 运行结果: 金陵科技学院实验报告 4.一个三口之家,大家知道父亲会开车,母亲会唱歌。但其父亲还会修电视机,只有家里人知道。小孩既会开车又会唱歌,甚至也会修电视机。母亲瞒着任何人在外面做小工以补贴家用。此外小孩还会打乒乓球。 编写程序输出者三口之家一天从事的活动:先是父亲出去开车,然后母亲出去工作(唱歌),母亲下班后去做两个小时的小工。小孩在俱乐部打球,在父亲回家后,开车玩,后又高兴地唱歌。晚上,小孩和父亲一起修电视机。 程序: #include protected: void repairTV(){cout<<\public: void drive (){cout<<\ friend main(); }; class mother { void dootherJob(){cout<<\public: virtual void sing(){cout<<\ friend main(); }; class child:public father,public mother { public: void drive(){ cout<<\ void sing(){cout<<\ void repair(){cout<<\ void playingPingPang(){cout<<\}; int main() { cout<<\ father f; mother m; child c; f.drive(); m.sing(); m.dootherJob();
共分享92篇相关文档