首页 > 代码库 > c++友元函数之---一种特殊的友情

c++友元函数之---一种特殊的友情

类可以允许其他类或者函数访问它的私有成员,方法是令其他类或者函数成为它的友元。如果类想把一个函数或者类声明成它的友元,只需要增加一条以friend关键字开始的声明语句即可。

友元声明只能出现在类定义的内部,但是在类内出现的具体位置不限。友元不是类的成员也不受它所在区域访问控制级别的约束,一般来说,最好在类定义的开始或者结束前的位置集中声明友元。

类中友元函数的声明仅仅指定了访问的权限,而非一个通常意义上的函数声明。如果我们希望类的用户能够调用某个友元函数,那么我们就必须在友元声明之外再专门对函数进行一次声明。为了使友元类对用户可见,我们通常把友元的声明与类本身放置在同一个头文件中。

 

 1 #pragma once
 2 class Myarray
 3 {
 4     friend void friend_fuc(Myarray &obj);//访问权限声明,非通常意义的声明
 5 public:
 6     Myarray();
 7     Myarray(unsigned int leng);
 8     ~Myarray();
 9 private:
10     int a;
11 };
12 
13 void friend_fuc(Myarray &obj);//正真的友元函数声明

 

c++友元函数之---一种特殊的友情