haihongyuan.com
海量文库 文档专家
全站搜索:
您现在的位置:首页 > 幼儿教育 > 幼儿读物幼儿读物

C++电子实验报告

发布时间:2014-01-02 11:01:31  

安阳师范学计算机与信息工程学院 综 合 性、设计性实验报告书

实 验 课 程: 《C++面向对象程序设计》

实验指导教师:

实 验 时 间: 2013.12.25

实 验 题 目: 设计一个描述儿童、成人、和老人的类系统

实验类型: ■ 综合性 □ 设计性

计算机信息工程学院结合性、设计性实验报告书

一、实验要求和目的:

1、要求:设计一个描述儿童、成人、和老人的类系统;儿童分学龄前儿童和学龄期儿童,成人指的是正在工作的人,老人指已经退休的人;分析这三类人群中的共性行为,并把他们定义在一个基类中;通过定义各自对象,模拟他们的行为;在模拟过程中要求统计出共创造了多少对象。

2、目的:

(1) 学习定义和使用类的继承关系,定义派生类;

(2) 掌握类派生,类的成员访问权限,派生类中构造和析构的次序;

(3) 熟悉不同继承方式下对基类成员的访问控制;

(4) 掌握初始化基类成员的方法;

(5) 掌握多重继承和派生类的方法;

二、实验仪器设备及实验环境:

计算机:PentiumIII 800 以上

256M内存

操作系统:Windows 2000/XP

开发集成环境:Visual C++ 6.0

三、总的设计思想、实验原理等:

描述一个人的基本特性包括:姓名,性别,年龄。把这些基本特性定义为一个基类people。

不论学龄前还是学龄期儿童都要有监护人联系电话。为此,在类people的基础上派生出类phone,再把类phone作为基类派出学龄前和学龄期儿童的类。

学龄前类由幼儿园情况信息,包括设置幼儿园函数和获取幼儿园信息函数,输出有关信息。

学龄期儿童类有学校和学号信息,包括设置学校和学号函数和获取学校和学号信息函数,输出有关信息。

把类people作为基类,分别派生出成人类和老人类。

成人类(Major)有工号、工资、职务和工作单位,包括设置工号、工资、职务和工作单位函数和获取工号、工资、职务和工作单位信息函数,输出有关信息。 老人类(old)有退休单位,包括设置退休单位函数和获取退休单位信息函数,输出有关信息。

四、实验步骤设计:(见附页)

#include <stdio.h>

#include <iostream>

#include<string>

using namespace std;

class People

{

public:

计算机信息工程学院结合性、设计性实验报告书

string name; //姓名

string sex; //性别

int age; //年龄

public:

void display()

{

cout<<"姓名:"<<name<<endl; cout<<"性别:"<<sex<<endl;

cout<<"年龄:"<<age<<endl;

}

};

class Old : public People //老人类 {

public:

string Retired;

public:

void show()

{

display();

cout<<"退休单位:"<<Retired<<endl; }

};

class Major : public People //成人类 {

public:

string Unit;

string post;

long num;

float money;

public:

void show()

{

display();

cout<<"工号:"<<num<<endl;

cout<<"工资:"<<money<<endl; cout<<"职务:"<<post<<endl;

cout<<"工作单位:"<<Unit<<endl; }

};

class Child : public People //儿童类 {

计算机信息工程学院结合性、设计性实验报告书

public:

int phone;

public:

void show()

{

display();

cout<<"监护人联系电话:"<<phone<<endl; }

};

class Lchild : public Child //学龄期儿童 {

public:

string school;

int num;

public:

void show2()

{

show();

cout<<"学号:"<<num<<endl;

cout<<"学校:"<<school<<endl;

}

};

class Mchild:public Child //学龄前儿童 {

public:

string kd;

public:

void show2()

{

show();

cout<<"幼儿园:"<<kd<<endl;

}

};

void main()

{

int Pn,On,Mn,Cn,Lcn,Mcn;

Pn=0,On=0,Mn=0,Cn=0,Lcn=0,Mcn=0; People p;

Pn++;

p.name="张华";p.sex="女";p.age=40;

Old op;

计算机信息工程学院结合性、设计性实验报告书

Pn++;On++;

op.name="王成光";op.sex="男";op.age=70;op.Retired="河南省安阳市文峰区房产分局"; Old op1;

Pn++;On++;

op1.name="张方玉";op1.sex="男";op1.age=67;op1.Retired="河南省安阳市眼科医院";

Major mp;

Mn++;Pn++;

mp.name="王一一";mp.sex="女";mp.age=40;mp.num=100861102;mp.money=3000;mp.post="职员";mp.Unit="中国移动";

Child cp;

Cn++;Pn++;

cp.name="张云";cp.sex="女";cp.age=7;cp.phone=2971726;

Lchild lcp;

Lcn++;Cn++;Pn++;

lcp.name="张明宇";lcp.sex="男";lcp.age=9;lcp.phone=3939025;lcp.num=103110122;lcp.school="安阳一中";

Mchild mcp;

Mcn++;Cn++;Pn++;

mcp.name="张浩鑫";mcp.sex="男";mcp.age=3;mcp.phone=2971060;mcp.kd="幼儿园";

cout<<"所创建的信息如下所示:"<<endl<<endl;

p.display();

cout<<endl<<endl;

op.show();

cout<<endl<<endl;

op1.show();

cout<<endl<<endl;

mp.show();

cout<<endl<<endl;

cp.show();

cout<<endl<<endl;

mcp.show2();

cout<<endl<<endl;

lcp.show2();

cout<<"该实验过程中共创造了"<<Pn<<"个People对象"<<endl;

cout<<"该实验过程中共创造了"<<On<<"个Old对象"<<endl;

cout<<"该实验过程中共创造了"<<Mn<<"个Major对象"<<endl;

计算机信息工程学院结合性、设计性实验报告书

cout<<"该实验过程中共创造了"<<Cn<<"个Child对象"<<endl; cout<<"该实验过程中共创造了"<<Lcn<<"个Lchild对象"<<endl; cout<<"该实验过程中共创造了"<<Mcn<<"个Mchild对象"<<endl; }

五、 实验结果及分析:(可加附页)

(1)人类

(2)老人类

(3)成人类

(4)儿童类

(5)在模拟过程中统计出共创造了多少对象

计算机信息工程学院结合性、设计性实验报告书

六、 自我评价与总结:

在学习C++以前,我认为C++只是在C语言的基础上的一种延伸,认为只要学过C语言,就可以用C语言的那种设计思想来学习C++、设计C++程序。正是由于抱了这种错误的思想,使我在一开始学习C++的时候遇到了很大的困难,我没有办法体会面向对象的设计思想,我在学习这门课的时候老是想着实现这个函数功能的具体过程,而没太注意对象分类的重要性。

随着课程学习的深入,我感觉到了利用类和对象、继承、封装等一系列知识可以把我们程序中很多繁杂、重复的部分省略掉,还可以解决一些利用面向过程的设计思想无法解决的问题,我自己也试着编写一些小的C++程序,当然在这个过程中遇到了很多困难,其中调试带来的困难让我无法忘记,在调试程序的同时,我也总结出来了一些调试的小技巧,让我在C语言课程设计中也受用匪浅。

在学习这门课的过程中,我感受到了自己亲自动手编程序、调程序的重要性,我们要熟悉C++的语法、体会调试的思想,最好的一个手段就是自己动手编程、调试,这会比我们一味的看书效果好得多。

很高兴能够了解到C++的神奇魅力和面向对象程序设计的独特思想,它为我今后的程序设计奠定了基础。感谢老师对我们的悉心教授!

七、 遇到的问题及创新之处:

写完程序,发现出现下面这种情况:

后来,经过查看资料解决了这个问题:

中点击“工程——设置——连接”将

“subsystem:windows”改成“subsystem:console”

在Visual C++ 6.0

计算机信息工程学院结合性、设计性实验报告书

八、教师评语:

上一篇:一封寄向天国的信
下一篇:孤独
网站首页网站地图 站长统计
All rights reserved Powered by 海文库
copyright ©right 2010-2011。
文档资料库内容来自网络,如有侵犯请联系客服。zhit326@126.com