类的静态成员
静态成员不是属于某个对象,而是属于类,他是某个对象共同的,静态成员可以分为静态数据成员和静态函数成员
静态数据成员:
他们共享一份数据
在编译阶段分配内存
类内声明,类外初始化;
#include"iostream"
using namespace std;
#include<string>
class xu{
public:
static int a;//静态成员
private:
};
int xu::a = 52;
int main() {
xu p;
cout << p.a << endl;
return 0;
}
静态函数成员:
共享成员函数,他们是共享一个函数;
只能访问该类的静态成员,不能访问普通成员
#include"iostream"
using namespace std;
#include<string>
class xu{
public:
static void getname() {
a = 10;
cout << "static void getname的调用" << endl;
}//静态函数成员
static int a;//静态成员
private:
};
int xu::a = 52;
int main() {
xu p;
p.getname();
cout << p.a << endl;
return 0;
}
静态函数成员与静态数据成员都有两种访问方式
第一种:通过定义一个对象,访问它的成员函数和数据(如上两个代码)
第二种:通过作用域访问我的成员函数(如下)
#include"iostream"
using namespace std;
#include<string>
class xu{
public:
static void getname() {
a = 10;
cout << "static void getname的调用" << endl;
}//静态函数成员
static int a;//静态成员
private:
};
int xu::a = 52;
int main() {
cout << xu::a << endl;
xu::getname();
return 0;
}