下面我们来看一段代码,看看我们是如何利用友元来访问类的一切成员的。

C++笔记(6)友元#include <iostream>   
C++笔记(6)友元
using namespace std;
C++笔记(6)友元
class Internet   
 

 


一个普通函数可以是多个类的友元函数,对上面的代码我们进行修改,注意观察变化:
C++笔记(6)友元
C++笔记(6)友元#include 
<iostream>   
C++笔记(6)友元
using namespace std;
C++笔记(6)友元
class Country;
C++笔记(6)友元
class Internet   
}


  一个类的成员函数函数也可以是另一个类的友元,从而可以使得一个类的成员函数可以操作另一个类的数据成员,我们在下面的代码中增加一类Country,注意观察:
C++笔记(6)友元
C++笔记(6)友元#include 
<iostream>   
C++笔记(6)友元
using namespace std;
C++笔记(6)友元
class Internet;
C++笔记(6)友元 
C++笔记(6)友元
class Country

  整个类也可以是另一个类的友元,该友元也可以称做为友类。友类的每个成员函数都可以访问另一个类的所有成员。

示例代码如下:
C++笔记(6)友元
C++笔记(6)友元#include 
<iostream>   
C++笔记(6)友元
using namespace std;
C++笔记(6)友元
class Internet;
C++笔记(6)友元 
C++笔记(6)友元
class Country
}


  在上面的代码中我们成功的通过Internet类Editcname成员函数操作了Country类的保护成员cname。

  在编程中,我们使用友元的另外一个重要原因是为了方便重载操作符的使用,这些内容我们将在后面的教程着重讨论!

参考:
http://www.pconline.com.cn/pcedu/empolder/gj/c/0503/571623_1.html

相关文章: