本文主要是介绍友元函数初探,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C++Primer 上写道: 类可以允许其他类或者函数访问它的非共成员,方法是另其他类或者函数成为它的友元。
想把类或者函数作为它的友元,只需增加一条以friend为关键字的开始的函数声明语句。
例如:
#include <iostream>
#include <algorithm>using namespace std;class Sales_data {
public:Sales_data(int i):data(i){}int data;const static int sd = 100;//带有类内初始值设定项的静态 数据成员 必须具有不可变的常量整型
private:const static int privateData = 10;friend void outPut(Sales_data obj);
};void outPut(Sales_data obj)
{cout << Sales_data::sd << endl;cout << Sales_data::privateData << endl;cout << obj.data<<endl;
}int main()
{Sales_data obj(1);outPut(obj);
}
输出100,10,1.
如果要访问类内的非static成员必须要给友元函数一个该类的对象,这是因为友元函数没有this指针。
这篇关于友元函数初探的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!