《面向对象程序设计A》实验指导书080902.docx

上传人:b****5 文档编号:2862223 上传时间:2022-11-16 格式:DOCX 页数:35 大小:880.62KB
下载 相关 举报
《面向对象程序设计A》实验指导书080902.docx_第1页
第1页 / 共35页
《面向对象程序设计A》实验指导书080902.docx_第2页
第2页 / 共35页
《面向对象程序设计A》实验指导书080902.docx_第3页
第3页 / 共35页
《面向对象程序设计A》实验指导书080902.docx_第4页
第4页 / 共35页
《面向对象程序设计A》实验指导书080902.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

《面向对象程序设计A》实验指导书080902.docx

《《面向对象程序设计A》实验指导书080902.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计A》实验指导书080902.docx(35页珍藏版)》请在冰豆网上搜索。

《面向对象程序设计A》实验指导书080902.docx

《面向对象程序设计A》实验指导书080902

 

《面向对象程序设计A》实验指导书

(适用于计算机科学与技术、网络工程专业)

 

计算机科学与技术学院

2008-3

 

说明

一、上机实践的目的不只是验证教材中的例题和自己编的作业程序,应该是:

1.通过反复实践,加深对课堂讲授内容的理解,熟练地掌握语法规则。

2.熟悉计算机系统操作方法,了解校实验室的计算机网络,熟悉VC++编译系统,实践在VC++环境下进行源程序的编辑、编译、连接、调试和运行等工作

3.通过上机调试程序,善于发现和更正程序中的错误,使程序能正确运行。

二、上机实验的步骤

1.准备好上机所需的程序。

编程题应事先编写好,并经检查无误后上机编辑、调试和运行,以利于提高上机效率。

对程序中有疑问的地方,应作出记号,以便在上机时给予注意。

2.上机输入和调试自己所编的程序时,应该独立思考,特别是要根据“出错信息”,善于分析判断,培养自己解决问题的能力。

3.上机结束后,应及时对运行情况作出分析并如实记录实验结果,注意总结本次调试程序所取得的经验。

三、实践共8次,每次2课时。

实验一C++语言基础

一、实验目的和要求

1、掌握C++程序的基本格式与规范,学会编写简单的C++程序。

2、理解C++程序结构的特点。

3、熟悉C++程序基本的输入输出操作。

4、掌握函数定义、函数调用和函数说明的方法。

5、掌握if语句的用法。

6、掌握switch语句的用法。

7、掌握循环和多重循环的用法。

二、实验内容

1、编写一个简单程序,输出“welcomeyou”,并给程序加一行注释“Firstc++program”。

2、编写内置函数求解2X^2+4X+5的值,X为整数,并用主函数调用该函数。

3、根据输入的百分制按五分制的成绩输出。

百分制与五分制之间的关系见下表。

分别使用if分支结构和switch结构编写程序。

百分制

五分制

90~100

5

80~89

4

60~79

3

0~59

2

4、编程求3~100之间的所有素数。

三、实验步骤

1、第四个内容提示:

用双重循环,核心程序代码为:

for(i=3;i<=100;i++)

{

for(j=2;j<=i-1;j++)

if(i%j==0)

break;

if(i==j)

cout<

}

2、补充:

写出下面程序的运行结果,体会函数的定义和调用。

#include

intm=8;

intadd3(intx,inty=7,intz=m)

{returnx+y+z;}

voidmain()

{

inta=1,b=2,c=3;

cout<

cout<

}

四、分析与讨论:

1、分析C++编程环境与C编程环境的优缺点。

2、分析总结C++结构化程序的书写规则。

3、分析总结C++程序中输入输出与C语言中的区别。

4、如何正确地设置判断条件。

实验二类与对象

(一)

一、实验目的和要求

1、掌握类、类的成员函数、类的成员函数的定义方式。

2、理解类成员的访问控制方式。

3、掌握对象的定义和操作对象的方法。

4、理解构造函数和析构函数的定义与执行过程。

5、掌握重载构造函数的方法。

二、实验内容

1、定义时间类,有三个私用数据成员(Hour,Minute,Second)和两个公有成员函数(SetTime和Print_Time)。

SetTime根据传递的3个参数为对象设置时间;Print_Time负责将对象表示的时间显示输出。

2、使用构造函数代替SetTime成员函数,并用之设置时间。

3、重载时间类的构造函数,时间清0。

4、在时间类的析构函数中输出”Goodbye!

”。

三、实验步骤

1、第三个内容提示:

在类Time内加上:

Time();

在类外加上:

Time:

:

Time()

{

Hour=0;

Minute=0;

Second=0;

}

第四个内容:

析构函数:

Time:

:

~Time()

{

cout<<”goodbye”<

}

2、补充内容:

创建一个Employee类,该类中有字符数组,表示姓名、街道地址、市、省和邮政编码。

其功能有修改姓名、显示数据信息。

要求其功能函数的原型放在类定义中,构造函数初始化每个成员,显示信息函数要求把对象中的完整信息打印出来。

其中数据成员为保护的,函数为公有的。

classemployee

{

public:

employee();

voidinputdata();

voiddisplay();

voidchangename(char*name);

protected:

charname[20],street[80],city[20],province[20],zip[20];

};

#include

#include

#include"Employee.h"

employee:

:

employee()

{

char*temp="";

strcpy(name,temp);

strcpy(street,temp);

strcpy(city,temp);

strcpy(province,temp);

strcpy(zip,temp);

}

voidemployee:

:

changename(char*pname)

{

strcpy(name,pname);

}

voidemployee:

:

inputdata()

{

cout<<"inputname:

";

cin>>name;

cout<<"inputStreet:

";

cin>>street;

cout<<"inputcity:

";

cin>>city;

cout<<"inputprovince:

";

cin>>province;

cout<<"inputzip:

";

cin>>zip;

cout<

}

voidemployee:

:

display()

{

cout<<"name:

"<

cout<<"street:

"<

cout<<"city:

"<

cout<<"province:

"<

cout<<"zip:

"<

}

 

#include

#include"employee.h"

voidmain()

{

employeee;

e.inputdata();

e.display();

e.changename("LiMing");

e.display();

}

四、分析与讨论:

1、分析总结面向对象程序设计的程序的基本构成方法

2、分析总结类、对象和变量之间的区别与联系

3、类作为程序的基本元素,试分析其优势

实验三类与对象

(二)

一、实验目的和要求

1、掌握对象数组定义与使用方法。

2、理解对象指针的概念,学会使用指针引用对象。

3、掌握静态数据成员和静态数据成员函数的基本使用方法。

4、理解友元与友元函数的作用,掌握其使用方法。

二、实验内容

1、定义股票类Stock,记录一支股票交易的基本信息,包括交易日序号、当日最高价、最低价、开盘价、收盘价。

定义一个对象数组存放连续5个交易日的股票信息。

编写主函数,计算两个stock对象的当日收盘价计算当日涨幅。

在主函数中调用该函数计算从第二个交易日开始每天的当日涨幅。

2、在Stock类中定义一个静态数据成员,记录当前Stock对象的数量。

3、定义一个友元函数计算Stock对象的当日开盘价是否高于当日收盘价,若是返回真,否则返回假。

三、实验步骤

1、第二个内容提示:

静态数据成员:

private:

staticintN_count;

intStock:

Get_N_Count()

{

returnN_count;

}

2、补充:

写出下面程序的运行结果。

注意:

构造函数和析构函数的执行次序、构造函数的初始化表。

#include

classEx

{

public:

Ex(intx,charc='c');

~Ex()

{

cout<<'B'<

}

voidoutdata(void)

{

cout<

}

private:

intda;

charch;

};

voidmain()

{

Exx(3,'a'),y

(1);

Exz[2]={Ex(10,'a'),Ex(1,'d')};

x.outdata();

y.outdata();

z[0].outdata();

}

Ex:

:

Ex(intx,charc):

da(x),ch(c)

{

cout<<'A'<

}

 

四、分析与讨论:

1、分析总结面向对象程序设计的程序的基本构成方法

2、分析总结类、对象和变量之间的区别与联系

3、类作为程序的基本元素,试分析其优势

实验四继承与派生

一、实验目的和要求

1、理解类的继承的概念,能够定义和使用类的继承关系。

2、掌握派生类的声明与定义方法。

3、熟悉公有派生类和私有派生类的访问特性。

4、学习虚基类在解决二义性问题中的作用。

二、实验内容

1、定义一个基类MyArray,基类中可以存放一组整数,基类中有构造函数、析构函数、输入数据和输出数据的函数。

2、定义一个类SortArray继承自MyArray,在该类中定义函数实现排序功能。

3、定义一个类AverArray继承自MyArray,在该类中定义函数Aver实现求解整数的平均值。

4、定义NewArray类,同时继承了SortArray和AverArray类,声明为虚基类,体会虚基类在解决二义性问题中的作用。

三、实验步骤

1、第四个内容提示:

虚基类:

classSortArray:

virtualpublicMyArray

classAverArray:

virtualpublicMyArray

定义虚基类,为了在继承中没有二义性。

2、补充:

运行下面两段程序,体会虚基类的用途

1)

#include

classB

{

public:

intb;

};

classB1:

virtualpublicB

{

private:

intb1;

};

classB2:

virtualpublicB

{

private:

intb2;

};

classC:

publicB1,publicB2

{

private:

intd;

};

voidmain()

{

Cc;

c.B1:

:

b=5;

c.B2:

:

b=10;

cout<<"pathB1==>"<

:

b<

cout<<"pathB2==>"<<

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1