友元是一种定义在类外部的普通函数,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend。
友元不是成员函数,但是它可以访问类中的私有成员。友元的作用在于提高程序的运行效率,但是,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。
友元函数 通过对象的引用可以直接访问私有变量而一般的函数则不可以。
- #include "iostream"
- using namespace std;
- class Point
- {
- int aa;
- public:
- friend void bb(Point cc);
- Point()
- {
- aa=88;
- }
- };
- void bb(Point cc)
- {
- int d=cc.aa; //通过对象的引用可以直接访问
- cout<<"这是友元函数通过对象的引用直接访问私有变量的例子!"<<endl;
- cout<<d<<endl;
- }
- /*
- void dd(Point cc)
- {
- int d=cc.aa; //不可以直接访问
- cout<<d<<endl;
- }
- */
- int main()
- {
- Point p;
- bb(p);
- return 0;
- }
写于2011-05-20下午
阅读(2211) | 评论(1) | 转发(0) |