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
}
通过上面的学习,相信大家对静态方法有了一个初步了解,但是,如何灵活地运用这个知识点呢?
那么,我们就要通过下方的按钮进入到游戏中,然后,运用该知识点去完成任务,
这样,才可以加深大家对该知识点的理解和运用,以及“尽快进入到编程的状态”。
要达到灵活运用,是需要通过不停地反复训练才可以做到,所以,不要停留在理论规则上面,
快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)