1.友元只是破坏了类的隐藏性和封装性,不能被继,没有this指针。
2.可以直接调用,不需要通过对象或者指针。
#include <climits>
#include <iostream>
#include <vector>
#include <limits.h>
using namespace std;
class A
{
friend void fun(A & a);
public:
void setvalue(int value)
{
_a = value;
}
private:
int _a;
};
void fun(A & a)
{//友元函数
cout<<" this is fun() a ="<<a._a<<endl;
}
int main()
{
A a;
a.setvalue(10);
fun(a); //友元函数可以直接被调用,不需要对象和指针,上述说法错误
return 0;
}