C++程序设计实验报告(2)

2020-04-14 16:30

方式以及基类成员的访问方式,再测试看看基类和派生类的属性访问方式有何不同。

(2)编程:在上述工程中增加一个Teacher(教师)类,采用多重继承方式由

Student和Teacher类公有派生出新类Student_Teacher。要求:

① Teacher类的保护成员有:Name、Sex、Title(职称)、Wages(工资)。两

个基类中的Name、Sex同名,在引用这些数据成员时,指定作用域。

②在派生类Student_Teacher中,增加两个成员函数:ReadF1()用于读入:

Num、Name、Sex、Title、Wages。Show()用于输出数据,在Show()中,首先调用Student类的display()函数用于输出Num、Name、Sex,然后再用cout语句输出Title、Wages。

③在类体中声明成员函数,在类外定义成员函数。 思考题:类的三种继承方式的主要区别是什么?

实验步骤: (1)启动Visual C++6.0开发环境;

(2)创建一个项目;

(3)建立C++源程序文件; (4)编辑C++源程序文件内容; (5)建立并运行可执行程序; (6)关闭工作空间。

#include using namespace std; int a, b;

classCrectangle {

public:

intlen, wid,s; int area();

void set(int, int); void get(); };

intCrectangle::area() {

s = len*wid; return s; }

voidCrectangle::set(int m, int n) {

len = m; wid = n; }

voidCrectangle::get() {

cout<< \ cout<< \ cout<< \

}

int main() {

Crectangle rec; rec.set(3,4); rec.area(); rec.get(); }

实验要求: (1)掌握继承与派生的概念;

(2)掌握通过继承派生出一个新的类的方法; (3)程序格式规范,程序运行正确;

(4)认真书写实验报告,如实填写各项实验内容。

实验四类的多态性与虚函数

(实验课时:2 实验性质:设计)

实验名称: 类的多态性与虚函数 实验目的: (1)了解多态性的概念;

(2)了解虚函数的作用和使用方法;

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

实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);

(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual

C++6.0。

实验内容: 事先编好程序,上机调试和运行程序,分析结果。

(1)编程:定义抽象基类Shape(图形)。

Shape类有一个公共的纯虚函数Area,用于派生类求图形的面积。 (2)由Shape派生出3个派生类:Circle(圆形)、Rectangle(矩形)、Triangle(三

角形),用一个函数PrintArea分别输出以上三者的面积,3个图形的数据在定义对象时给定。

在主程序中测试这些类的PrintArea函数。

(3)在类Circle基础上再派生一个圆柱体Cylinder,重载Area函数求圆柱体的

体积。然后,编写主程序采用静态多态性和动态多态性分别测试Area函数。

(4)在类Circle中定义一个析构函数,让它输出一行信息“This is Cicle

Destruction。”,在类Cylinder中定义一个析构函数,让它输出一行信息“This is Cylinder Destruction。”。

在主程序中用指向基类Circle类的指针动态生成Cylinder类对象,然后用delete

语句释放该对象,测试看看运行结果如何。再修改Circle的析构函数为虚函数,测试看看运行结果如何。

(5)运行上述程序,并分析结果。

实验要求: (1)掌握多态性的概念;

(2)掌握虚函数的作用和使用方法;

(3)掌握纯虚函数和抽象类的概念和用法; (4)程序格式规范,程序运行正确;

(5)认真书写实验报告,如实填写各项实验内容。

思考题:虚函数的作用是什么?

#include #include using namespace std; class Car {

private:

char brand[10], color[10]; bool door, lamp; double speed; public:

Car(char s1[], char s2[]); voidopen_door(); voidopen_lamp(); voidspeed_up(); voidspeed_down(); };

Car::Car(char s1[], char s2[]) {

inti;

for (i = 0; s1[i]; i++) { color[i] = s1[i]; }

for (i = 0; s2[i]; i++) { brand[i] = s2[i]; }

door = false; lamp = false; speed = 0;

}

cout<< \颜色: \for (i = 0; s1[i]; i++) cout<< color[i]; cout<

void Car::open_door() {

door = true;

cout<< \车门已经打开\}

void Car::open_lamp() {

lamp = true; }

void Car::speed_up() {

speed += 10.0;

cout<< \加速-----行驶速度为: \}

void Car::speed_down() {

speed -= 10.0; if (speed < 0) speed = 0;

cout<< \减速-----行驶速度为: \}

int main() {

Car car(\ car.open_lamp(); car.open_door(); car.speed_up(); car.speed_down(); system(\ return 0; }

实验步骤: (1)启动Visual C++6.0开发环境;

(2)创建一个项目;

(3)建立C++源程序文件; (4)编辑C++源程序文件内容;

(5)建立并运行可执行程序,并分析结果; (6)关闭工作空间。


C++程序设计实验报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:通用航空行业现状及未来发展前景趋势分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: