简简单单学习Cpp-静态成员
简单介绍
- 静态成员变量的生命周期是整个程序 作用域在类内部
class Maker {
public:
// 静态成员变量的生命周期是整个程序 作用域在类内部
static int a;
};
- 静态成员变量需要在类内部进行声明,但是需要在类外部进行初始化
# define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
class Maker {
public:
// 静态成员变量的生命周期是整个程序 作用域在类内部
static int a;
};
int Maker::a = 10000;// 初始化静态成员变量
void test() {
Maker m;
cout << m.a << endl;
}
int main() {
// 封装
test();
system("pause");
return EXIT_SUCCESS;
}
- 静态成员变量属于类,不属于对象,是所有对象进行共享 可以使用类进行访问
# define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
class Maker {
public:
// 静态成员变量的生命周期是整个程序 作用域在类内部
static int a;
};
int Maker::a = 10000;// 初始化静态成员变量
void test() {
Maker m;
cout << m.a << endl;
// 静态成员变量属于所有的类
cout << Maker::a << endl;
}
int main() {
// 封装
test();
system("pause");
return EXIT_SUCCESS;
}
- 静态成员函数
注意静态成员函数智能访问静态成员变量 不可以访问其他成员变量
# define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
class Maker {
public:
// 静态成员变量的生命周期是整个程序 作用域在类内部
static int a;
static void seTa(int aa) {
a = aa;
cout << "aa" << aa << endl;
}
};
int Maker::a = 10000;// 初始化静态成员变量
void test() {
Maker m;
cout << m.a << endl;
// 静态成员变量属于所有的类
cout << Maker::a << endl;
Maker::seTa(12393872901);
}
int main() {
// 封装
test();
system("pause");
return EXIT_SUCCESS;
}
- const修饰的静态成员变量最好在类内部初始化
class Maker4 {
public:
// const修饰的静态成员变量可以在内部初始化 当然也可以在外部初始化
const static int a = 20;
const static int b;
};
const int Maker4::b = 10000;