C++ 友类

 

 

  接下来,我们准备为大家介绍"友类"

 

   友类 —— 一个类可以作为另一个类的友元,称为友类。友类的每一个成员函数即(方法)

         都可以访问另一个类中的保护或私有成员。

 

 

 

  接下来,我们结合例子作进一步的学习

 

   例子:

   //========================

   //定义一个描述武器的类Weapon

   //========================

    class Person;

 



    class Weapon        

    {

      public:

        int Type;          //武器的类型

        int x;            //武器位置的X坐标

        int y;             //武器位置的Y坐标

        void SelectWeapon(int stw);   //选择武器的方法

 

       //把Person类定义为Weapon类的(友类)

       friend class Person;   

 

 

        Weapon(int ty)

        {

          Type = ty;

        }

 

        ~Weapon()

        {}

    }

 

   //========================

   //定了一个描述人的类Person

   //========================

   class Person  //定了一个描述人的类Person

   {       

      int x;    

      int y;   

      char *Name;     //名字属性

      int Life;       //生命属性

 

      void UseWeapon(Weapon &wp); //定义了方法UseWeapon

   }

 

   void Person::UseWeapon(Weapon &wp)

   {

      //因为Person类定义为Weapon类的(友类),所以,可访问属性Type。

      wp.Type = 1; 

   }

 

   分析:

   (1)在武器类Weapon中定义了Person类为(友类),

      所以,Person类中的方法UseWeapon,就可以结合参数wp访问Weapon类中的方法。

 

 

 

  通过上面的学习,相信大家对方法作为另一个类的友元有了一个初步了解,

 但是,如何灵活地运用这个知识点呢?

 那么,我们就要通过下方的按钮进入到游戏中,然后,运用该知识点去完成任务,

 这样,才可以加深大家对该知识点的理解和运用,以及“尽快进入到编程的状态”

 

  要达到灵活运用,是需要通过不停地反复训练才可以做到,所以,不要停留在理论规则上面

 快动起来吧!

 

 

(通过游戏模式,结合真实的开发环境编程,需要在电脑上运行)

进入学习与训练