友元函数初探

来源:互联网 发布:淘宝如何查找附近的人 编辑:程序博客网 时间:2024/05/16 01:19

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指针。


原创粉丝点击