首页 > 编程 > C++ > 正文

C++ 类的静态成员

2019-11-06 08:21:25
字体:
来源:转载
供稿:网友

static 静态成员是属于整个类的,不是某个对象。在所有对象中可以共享它。1. 可以通过类名直接调用静态成员,非静态成员则不行。如:

class Student  {  public:       static void init()      {        }  };  void main()  {      Student::init();  }  2. 静态成员在类实例化对象之前就已经分配空间,因此不能调用非静态成员,因为非静态成员是在实例化对象之后才分配空间。这种调用就像未声明对象却使用了它一样。3. 静态成员在使用前要初始化。静态成员的初始化要在类外。   能在类中初始化的成员只有一种,静态常量成员。static和const都不能在类内初始化,static const可以在类内初始化。

4. 静态成员只初始化一次:

#include<iostream.h>void f() {    static int i=15;    i++;    cout<<"i="<<i<<endl;}void main(){    for(int k=0;k<2;k++)        f();}结果为16 17,第二次初始化会自动跳过。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选