实验二_类的静态数据成员和友元
- 格式:pdf
- 大小:222.43 KB
- 文档页数:8
实验三静态成员和友元函数实验名称:静态成员和友元函数学时安排:2实验类别:设计性实验实验要求:1人1组一、实验目的和任务1)熟练掌握友元函数设计的方法2)掌握友元函数的含义,友元函数和成员函数的区别。
二、实验原理介绍根据要求正确定义静态成员和友元函数。
将别的模块声明为友元,使类中本隐藏的信息如私有和保护成员就可以被友元访问。
三、实验设备介绍软件需求: Visual C++ 6.0硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB 以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。
四、实验内容和步骤【实验3-1】静态成员为账户类ACCOUNT增加静态成员count和 InterestRate表示账户数量和利率,增加静态成员函数GetCount返回账户数目 GetInterestRate返回银行利率class ACCOUNT {public:ACCOUNT(string accno,string name,float balance);~ACCOUNT();void Deposit(float amount);void Withdraw(float amount);float GetBalance();void Show(void);static int GetCount();static float GetInterestRate();private:static int count;static float InterestRate;string _accno,_accname;float _balance;};【实验3-2】友元函数为账户类ACCOUNT增加一个友元函数,实现账户结息,要求输出结息后的余额(不计算利息税),并在main函数中调用进行测试。
friend void Update(ACCOUNT& a);【实验3-3】(加分题)在main函数中,设计一个ACCOUNT类型的数组,为数组中的10个对象初始化,并调用成员函数测试存款、取款、显示等函数,再调用友元函数测试进行结息。
南昌航空大学实验报告二00七年月日课程名称:面向对象程序设计实验名称:静态成员与友元班级: 090453 学生姓名:余圣波学号: 09045329 指导教师评定:签名:1、实验目的·学习友元函数的定义和原理。
·学习静态数据成员和静态成员函数的使用。
·学习静态成员代替全局变量实现对象间的共享。
2、实验内容(1)有如下类的定义。
类成员函数copy用于实现两个对象的相互拷贝,请完成该函数的实现。
(有两种方法即不用this 指针和用this指针)成员函数实现:#include <iostream.h>class Myclass{public:Myclass (int a,int b) { x=a;y=b;}void copy(Myclass & my);void print( ){ cout<<“x=”<<x<<endl;cout<<”y=”<<y<<endl;}private:int x,y;};void Myclass::copy(Myclass & my){x=my.x,y=my.y;}void main(){Myclass my(10,20),t(30,40);my.print( );my. Copy(t);my.print( );}友员函数实现:#include <iostream.h>class Myclass{public:Myclass (int a,int b) { x=a;y=b;}friend void copy(Myclass &o,Myclass y);void print( ){ cout<<"x="<<x<<endl;cout<<"y="<<y<<endl;}private:int x,y;};void copy(Myclass &o,Myclass y){y.x=o.x,y.y=o.y;y.print();cout<<"友元拷贝函数被调用"<<endl;}void main(){cout<<"请输入对象数据:"<<endl;int a,b,c,d;cin>>a>>b;Myclass o(a,b);o.print();cout<<"请输入对象数据:"<<endl; cin>>c>>d;Myclass y(c,d);y.print();copy(o,y);y.print();}(2)商店经销一种货物,货物成箱购进,成箱卖出,购进和卖出时以重量为单位,各箱的重量不一样,单价不一样,因此商店需要记录下目前库存的货物的总重量和总价值。