C++ 静态方法
1、静态方法 在C++语言中,同一个类所定义的不同对象之间的方法调用都是独立的,互不 影响, 但是,当我们需要在不同的对象之间共享某些方法时,我们就需要通过定义静态方法来完成这个任务, 这样,当(同一个类)所定义的(每一个对象)调用同一个静态方法时,它们就使用了相同的静态方法。
2、静态方法的特性: (1)在静态方法中,不可以使用(非静态的属性)。 (2)静态方法可以在(类内)或(类外)实现。
3、静态方法定义的语法格式: static 类型关键字 方法名(参数类型 参数1,参数类型 参数2,...参数类型 参数n );
语法格式分析: 与普通方法定义的格式一样,只是在定义最开始的位置添加了static,用于说明是(静态)。
4、静态方法实现的语法格式: 类型关键字 类名::方法名(参数类型 参数1,参数类型 参数2,...参数类型 参数n ) { 代码; }
语法格式分析: (1)与普通方法实现的语法格式是一样的。
5、静态方法调用的语法格式: (1)类名::方法名(参数1,参数2, ...参数n ) ; (2)对象名.方法名(参数1,参数2, ...参数n ) ;
语法格式分析: (1)可以通过类名后加两个冒号来调用静态方法。 (2)可以通过对象名来调用静态方法。
6、 例子: class Human //定义了人类 { char *name; static int Count; //定义了静态属性,记录人数 static void Ct(); //定义了静态方法Ct Human() //构造函数 { head = 0; } };
void Ct() { eye = eye + 1; //错误,在静态方法中不可以调用非静态属性eye Count = Count + 1; //正确,Count是静态属性 }
int Human::Count = 0; //对静态属性Count分配内存空间并赋初值0; Human LS; //定义了对象LS
void main() { LS.Ct(); //LS对象调用了静态方法Ct。 Human::Ct(); //通过类名调用了静态方法Ct。 }
不要停留在理论学习上,尽快转到真实环境进行代码编写实践,请下载下方的训练环境。 |