资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实验三 类与对象(2)【实验类型】验证性实验 【实验课时】2学时 【实验目的】(1)掌握对象数组定义与使用方法。(2)理解对象指针的概念,学会用指针引用对象。(3)了解this指针的工作方式。(4)掌握静态数据成员和静态成员函数的基本使用方法。(5)理解友元与友元函数的作用,掌握其使用方法。【实验环境】硬件:计算机软件:Microsoft Visual C+ 6.0【实验内容】1、按要求阅读、修攺、调试和运行以下程序。(1)实验内容 定义一个类Stock,记录一支股票交易的基本信息,信息包括交易日序号(表示本月的第几个交易日,用整数表示)、当日最高价、当日最低价、当日开盘价和当日收盘价。尽量发挥想象力,为该类设计成员函数。 在主函数中建立两个股票对象,分别存储该股票昨天和今天两天的信息,以当日收盘价计算该股票今天的涨幅。 使用股票类Stock,定义一个对象数组存放连续5个交易日的股票信息。 编写一个主函数,计算两个Stock对象(前后两日)的当日收盘价计算当日涨幅。用指针引用对象数组中的两个对象。在主函数中调用该函数计算从第2个交易日开始每天的当日涨幅。 在Stock类中定义一个静态数据成员,记录当前Stock对象的数量。 设计一个成员函数Assign_stock为对象赋值,其中的形式参数是对另一个Stock对象的引用,使用this指针避免对自己的赋值,在主函数中显示用Assign_stock赋值的对象。 定义一个友元函数计算Stock对象的当日开盘价是否高于当日收盘价。若是,返回真,否则,返回假。(2)实验程序及运行结果(参考)以当日收盘价计算该股票今天的涨幅#include class Stockpublic: Stock(int n,double ma,double mi,double b,double e); void Set_Stock(int n,double ma,double mi,double b,double e); double Get_End(); void Show_Stock();private: int Number; double Max,Min,Begin,End;Stock:Stock(int n,double ma,double mi,double b,double e) Number=n; Max=ma; Min=mi; Begin=b; End=e; void Stock:Set_Stock(int n,double ma,double mi,double b,double e) Number=n; Max=ma; Min=mi; Begin=b; End=e;double Stock:Get_End() return End;void Stock:Show_Stock() coutNumbert; coutMaxt; coutMint; coutBegint; coutEndendl;void main() Stock s1(1,4.18,4.00,4.05,4.09); Stock s2(2,4.41,4.03,4.04,4.40); coutn(s2.Get_End()-s1.Get_End()/s1.Get_End()*100%endl;定义一个对象数组存放连续5个交易日的股票信息#include const int N=2;class Stockpublic: Stock(int n,double ma,double mi,double b,double e);Stock(); /增加无输入值的构造函数 void Set_Stock(int n,double ma,double mi,double b,double e); void Set_Stock(); double Get_End(); void Show_Stock();private: int Number; double Max,Min,Begin,End;Stock:Stock(int n,double ma,double mi,double b,double e) Number=n; Max=ma; Min=mi; Begin=b; End=e;Stock:Stock() /无输入值时,将其都清零 Number=0; Max=0; Min=0; Begin=0; End=0;void Stock:Set_Stock(int n,double ma,double mi,double b,double e) Number=n; Max=ma; Min=mi; Begin=b; End=e;double Stock:Get_End() return End;void Stock:Show_Stock() coutNumbert; coutMaxt; coutMint; coutBegint; coutEndendl;void Stock:Set_Stock() coutNumber; coutMax; coutMin; coutBegin; coutEnd;void main() int i; Stock s15,*p; for (i=0,p=s1;iSet_Stock(); for (i=0,p=s1;iShow_Stock(); for(i=1,p=s1+1;iN;i+,p+) coutnGet_End()-(p-1)-Get_End()/(p-1)-Get_End()*100%endl;定义一个静态数据成员,记录当前Stock对象的数量#include const int N=2;class Stockpublic: Stock() Stock(int n,double ma,double mi,double b,double e); void Set_Stock(int n,double ma,double mi,double b,double e); void Set_Stock(); double Get_End(); void Show_Stock(); int Get_N_count();private: static int N_count; /静态数据成员 int Number; double Max,Min,Begin,End;int Stock:N_count=0; /此处定义时不需要加上staticStock:Stock() /无输入值时,将其都清零 N_count+; Number=0; Max=0; Min=0; Begin=0; End=0;Stock:Stock(int n,double ma,double mi,double b,double e) N_count+; Number=n; Max=ma; Min=mi; Begin=b; End=e;void Stock:Set_Stock(int n,double ma,double mi,double b,double e) Number=n; Max=ma; Min=mi; Begin=b; End=e;double Stock:Get_End() return End;void Stock:Show_Stock() coutNumbert; coutMaxt; coutMint; coutBegint; coutEndendl;void Stock:Set_Stock()coutNumber; coutMax; coutMin; coutBegin; coutEnd;int Stock:Get_N_count() return N_count;void main() int i; Stock s15; Stock *p; for (i=0,p=s1;iSet_Stock(); for (i=0,p=s1;iShow_Stock(); for(i=1,p=s1+1;iN;i+,p+) coutnGet_End()-(p-1)-Get_End()/(p-1)-Get_End()*100 %; coutnGet_N_count()endl;设计一个成员函数Assign_stock为对象赋值,其中的形式参数是对另一个Stock对象的引用#include const int N=2;class Stockpublic: Stock() Stock(int n,double ma,double mi,double b,double e); void Set_Stock(int n,double ma,double mi,double b,double e); void Set_Stock(); void Assi
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号