?? p2-120.cpp
字號:
#include<iostream.h>
//Y類的不完全定義
class Y;
//X類的定義
class X {
public:
void disp(Y py,char *name); //成員函數原型
};
//定義Y類
class Y {
//聲明本類的友元函數
//X類的disp()為本例的友元函數
friend void X::disp(Y py,char *name);
//普通函數putY() 為本例的友元函數
friend void putY(Y& yc,char *name);
private: //私有成員
int num;
dispY(char *name){
cout<<name<<".num="<<num<<endl;
}
public: //公共成員函數
Y(int n){
num=n;
}
};
//X類成員函數的實現部分
void X::disp(Y py,char *name){
cout<<"In X::disp():"<<endl;
py.dispY(name); //訪問Y類的私有函數
}
//普通函數putY()的定義
void putY(Y& yc,char *name){
cout<<"In getY:"<<endl;
yc.dispY(name);
cout<<name<<".num=";
cout<<yc.num<<endl;
}
//在main()函數測試X和Y類的功能
main()
{
//創建Y和X類的對象
Y y1(100),y2(200);
X x;
//不可用Y類對象的私有成員函數顯示
//y1.dispY("y1");
//y2.dispY("y2");
//調用X類對象的友元函數顯示
x.disp(y1,"y1");
x.disp(y2,"y2");
//用getY函數顯示Y類的對象顯示
putY(y1,"y1");
putY(y2,"y2");
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -