一、实验目的和要求
|
二、实验环境(软、硬件及条件) 一台安装有Visual C++ 6.0的计算机 |
三、实验步骤 二、实验任务 1、设计一个CPU类的友元函数PrintCpuFrd,打印CPU对象的私有数据成员值。 2、设计一个CPU类的友元类CpuFriend,使用CPU对象的私有数据成员。 3、设计一个类CpuFrdMemb,为该类定义两个成员函数,其中第一个成员函数自由定义,第二个成员函数实现打印CPU对象的私有数据成员值,并将第二个成员函数设计成CPU的友元成员函数。 三、实验步骤 新建一项目,建立c++源程序。 |
四、实验中遇到的问题及解决 主函数调用类中的函数时,由于刚开始的CPU没有对私有数据进行初始化,最后运行的时候打印的私有数据是个随机数。 |
五、实验结果及分析 #include<iostream> using namespace std; class CPU; class CpuFrdMemb {public: void gf(int a,int b){cout<<"he="<<a+b<<endl;} void play( const CPU & k); }; class CPU { friend class CpuFriend; private: int x; public: int gf(int w){x=w;return w;} friend void PrintCpuFrd(CPU & a); friend void CpuFrdMemb::play(const CPU & k); }; class CpuFriend {public: void Set(int i) { F.x =i; int s; s=i*i; cout<<"s="<<s<<endl; } private: CPU F; }; void PrintCpuFrd(CPU & a) {cout<<"x="<<a.x<<endl; }; void CpuFrdMemb::play( const CPU & k){int p;p=(k.x)*100;cout<<p<<endl;} void main() {int x=10; CPU a; a.gf(x); PrintCpuFrd(a); CpuFriend c; c.Set(x); CpuFrdMemb d; d.gf(5,6); d.play(a); getchar(); }
|
C++实验4 友元
最新推荐文章于 2022-11-24 22:16:54 发布