C++ 静态方法

 

 

  接下来,我们准备为大家介绍"静态方法"

 

   

  静态方法的特性:

   (1)在静态方法中,不可以使用“非静态的属性”。

   (2)静态方法可以在类内或类外实现。

 

  静态方法定义的语法格式:

 

    static 类型关键字 方法名( 参数类型 参数1,

                  参数类型 参数2,...参数类型 参数n );

 

  语法格式分析:

    与普通方法定义的格式一样,只是在定义最开始的位置添加了static,用于说明是静态。

 

 

  静态方法实现的语法格式:

 

    类型关键字 类名::方法名(参数类型 参数1,参数类型 参数2,...参数类型 参数n )

    {

      代码;

    }

 

  语法格式分析:

    与普通方法的实现格是一样的。

 

 

  静态方法的调用格式

 

   (1)类名::方法名(参数1,参数2, ...参数n ) ;

   (2)对象名.方法名(参数1,参数2, ...参数n ) ;

 

  调用格式分析:

   (1)可以通过类名后加两个冒号来调用静态方法。

   (2)可以通过对象名来调用静态方法。

 

 

  

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

 

   例子:

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

    {

      public:

        char *Name;      //名字属性

        int Life;         //生命属性

        static int Count;   //记录人数属性   

 

        static void fn();    //定义了静态方法fn

 

        Person()

        {

          Life = 10;

          Count = Count + 1;  //每次定义一个象,就计数加1

        }

 

        ~Person()

        {

          Life = 0;

          Count = Count - 1;  //对象生命周期结束时,就计数减1

        }

    }

 

    int Person::Count = 0;  //对静态属性Count分配内存空间并赋初值0;

 

    void Person::fn()

    {

       Life = Life + 1;     //错误,在静态方法中不可以调用非静态属性Life

       Count = Count + 1;   //正确,Count是静态属性

    }

   

  void main()

  {

    Person  p1;   //通过Person类定义了一个对象p1

   

    p1.fn();       //通过对象p1调用静态方法fn

    Person::fn();  //通过类名调用静态方法fn

  }

 

 

 

 

  通过上面的学习,相信大家对静态方法有了一个初步了解,但是,如何灵活地运用这个知识点呢?

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

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

 

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

 快动起来吧!

 

 

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练