12.2.9.2 静态成员函数
在成员函数名称前加上static关键字,就成为了静态成员函数,它有以下特点:
所有对象共享同一个函数;静态成员函数只能访问静态成员变量。
#include<iostream>
using namespace std
;
class person
{
public:
static void func()
{
m_a
= 100;
m_b
= 200;
}
static int m_a
;
int m_b
;
};
int person
::m_a
= 0;
我们定义了两个属性,一个静态,一个非静态,还有一个静态成员函数。 当我们在静态成员函数访问非静态成员变量时,程序报错。 静态成员函数的调用也有两种方式
通过类对象调用:
Person p
;
p
.func();
通过类名调用:
Person
::func();
同样,调用的前提是访问权限为公有。