如何定义友元类

[复制链接]
查看11 | 回复2 | 2009-10-29 11:58:17 | 显示全部楼层 |阅读模式
一句两句说不清除,看下篇文章,应该能解决问题,不是太长。http://oracleot.bokee.com/1172829.html是关于友元类的。
回复

使用道具 举报

千问 | 2009-10-29 11:58:17 | 显示全部楼层
友元类的语法形式:classB{.....//B类的成员声明friendclassA;//声明A为B的友元类.....};例:classA{public:voidDisplay(){cout<<x<<endl;}intGetx(){returnx;}friendclassB;//B类是A类的友元类//其他成员略private:intx;}classB{public:voidSet(inti);voidDisplay();private:Aa;};voidB::Set(inti){a.x=i;//由于B是A的友元,所以在B的成员函数中可以访问A类对像的私有成员}//其他函数的实现略
回复

使用道具 举报

千问 | 2009-10-29 11:58:17 | 显示全部楼层
友元类的语法形式:class B{
.....
//B类的成员声明
friend class A; //声明A为B的友元类
.....};例:class A{public:
void Display() { cout << x << endl; }
int Getx() { return x; }
friend class B;
//B类是A类的友元类 //其他成员略private:
int x;}class B{ public:
void Set ( int i );
void Display (); private:
A a;};void B::Set ( int i ){
a.x = i; //由于B是A的友元,所以在B的成员函数中可以访问A类对像的私有成员}//其他函数的实现略
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行