C++程序设计课程实验报告.doc
文本预览下载声明
C++程序设计
课程实验报告
(院): 信息工程学院
班 级:
学 号:
姓 名:
完成日期: 2013年9月-12月
指导教师:
二○一三年十二月
C++程序设计实验内容安排
实验一、了解Visual C++6.0编程环境
实验二、C++基础
#include iostream.h
#include math.h
class Base
{
private:
int x;
protected:
int y;
double length;
public:
void setxy(int m,int n) {x=m;y=n;}
int Getx() {return x;}
int Gety() {return y;}
double lengthxy(int x,int y)
{
return sqrt(x*x+y*y);
}
void getlengthxy()
{
length=lengthxy(x,y);
}
void showlength()
{
coutlengthendl;
}
};
class Derived:public Base
{
private:
int z;
public:
void setxyz(int m,int n,int l)
{
setxy(m,n);
z=l;
}
int Getz() {return z;}
double lengthxyz(int x,int y,int z)
{
return sqrt(lengthxy(x,y)*lengthxy(x,y)+z*z);
}
void getlengthxyz()
{
length=lengthxyz(Getx(),y,z);
}
};
void main()
{
Base obj1;
obj1.setxy(3,4);
obj1.getlengthxy();
cout(obj1.Getx(),obj1.Gety())到原点距离:;
obj1.showlength();
Derived obj2;
obj2.setxyz(30,40,50);
obj2.getlengthxyz();
cout(obj2.Getx(),obj2.Gety(),obj2.Getz())到原点距离:;
obj2.showlength();
}
4、实验结果
5、实验体会
继承提供了一个类获得另一个类数据和操作的机制。程序员只需在新类中定义已有类中没有的成员就可以建立新类。利用已有类定义新类可以提高软件代码的重用率,是面向对象程序设计的重点。
实验五、多重继承
1、实验内容
设计一个子类继承多个父类,要求在main函数中创建子类对象。
2、实验目的
掌握子类对象对父类构造函数的调用次序以及析构次序。
3、实现代码
#include iostream.h
class B1
{
public:
B1() { cout构造B1!\n;}
~B1(){ cout析构B1!\n;}
};
class B2
{
public:
B2(int j) { cout构造B2j!\n;}
~B2(){ cout析构B2!\n;}
};
class B3
{
public:
B3(int i) { cout构造B3i!\n;}
~B3(){ cout析构B3!\n;}
};
class B4
{
public:
B4() { cout构造B4!\n;}
~B4(){ cout析构B4!\n;}
};
class C:public B1,public B3,public B4,public B2
{
public:
B1 memberB1;
B2 memberB2;
B3 memberB3;
C(int a,int b,int c,int d):memberB2(a),memberB3(b),B2(c),B3(d) {cout构造C!\n;}
~C(){ cout析构C!\n;}
};
void main()
{
C obj(1,2,3,4);
}
5、实验体会
基类构造函数先于派生类构造函数被执行,派生类构造函数的调用顺序如下:
(1)调用基类的构造函数,调用顺序按照它们继承时说明的顺序;
(2)调用对象成员的构造函数,调用顺序按照它们在类中说明的顺序;
(3)派生类构造函数体中的内容。
实验七、多态
实验内容
设计一个单一继承树,子类和父类之间存在同名函数,
显示全部