C++静态成员变量与静态成员函数

1.静态成员函数

  1. 成员函数申明为静态,函数申明必须包含static,但是定义中不需要。但也可以在申明的时候就定义了。
  2. 不能够通过对象调用成员函数,所以不能用this指针,只能通过类名和作用域解析符来调用它。
  3. 静态成员函数只能访问静态数据成员

2.静态成员变量

  1. 静态成员变量是一种特殊的成员变量,它被关键词 static修饰.
  2. 静态成员变量只能够在类外初始化,static 成员变量的内存既不是在声明类时分配,也不是在创建对象时分配,而是在(类外)初始化时分配。反过来说,没有在类外初始化的 static 成员变量不能使用。
  3. static 成员变量不占用对象的内存,而是在所有对象之外开辟内存,即使不创建对象也可以访问。
  4. 访问静态成员变量的三种方法:
    既可以通过对象来访问,也可以通过类来访问,也可以通过对象访问
//通过类类访问 static 成员变量
Student::m_total = 10;
//通过对象来访问 static 成员变量
Student stu("小明", 15, 92.5f);
stu.m_total = 20;
//通过对象指针来访问 static 成员变量
Student *pstu = new Student("李华", 16, 96);
pstu -> m_total = 20;
发布了9 篇原创文章 · 获赞 0 · 访问量 253

猜你喜欢

转载自blog.csdn.net/a_465240/article/details/104587698