4.3静态成员就是在成员变量和成员函数前加上关键字static,成为静态成员
静态成员分为:
一:静态成员变量
1:所有对象共享一份数据
2:在编译阶段分配内存
3:类内声明,类外初始化
二:静态成员函数
1:所有对象共享一个函数
2:静态成员函数只能访问静态成员变量
示例1:静态成员函数:
#include
using namespace std;
class Preson
{
public:
static void test()
{
m_a=100;
// m_b=200;//静态成员函数 不可以访问 非静态成员变量 无法区分到底是那个对象的m_b的属性。
cout<<”static void test()函数的调用”<<endl;
}
static int m_a;
int m_b;
// 静态成员函数也是有访问权限的
private:
static void func()
{
cout<<”私有的静态成员函数”<<endl;
}
};
//有两种的访问方式
void test1()
{
//第一种情况通过对象来调用
Preson A;
A.test();
//第二中情况通过类名来调用。
Preson::test();
// Preson::func();//类外访问不到私有的静态成员函数。
}
int main()
{
test1();
return 0;
}