码迷,mamicode.com
首页 > 编程语言 > 详细

C++友元

时间:2019-07-19 20:50:30      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:oid   声明   关系   class   double   类的成员   关于   amp   成员函数   

  C++提供友元机制,允许一个类将其非公有成员的访问权授予指定的函数或类。友元声明以关键字friend开始,它只能出现在类的内部。

  友元可以是普通的非成员函数,或是已定义的其他类的成员函数,或整个类。所以有友元函数和友元类的叫法。

(一)将非成员函数声明为友元函数

  private:

    friend double distance();//友元函数

(二)友元成员函数

  class A{

  public:

    void  setb(B& r);

  };

  class B{

  private:

    friend void A::setb(B& r);

  }

(三)友元类

  可以将一个类B声明为另一个类A的友元,这时B类就是类A的友元类。友元类B中的所有成员函数都是A类的友元函数,可以访问A类中的所有成员。

  关于友元类的如下说明:

  (1)友元的关系是单向的不是双向的,B是A的友元,不代表A是B的友元。

  (2)友元关系不能传递或继承,如果B是A的友元类,C是B的友元类,不代表C是A的友元类。

  

C++友元

标签:oid   声明   关系   class   double   类的成员   关于   amp   成员函数   

原文地址:https://www.cnblogs.com/liuzhenbo/p/11215439.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!