静态成员(static)和非静态成员的初始化有比较大的区别,所以这里单独成章。
静态成员初始化:
一,静态变量:
#include <iostream>
using namespace std;
class Ctest
{
public:
static int a;
};
int Ctest::a = 12;
int main()
{
cout << Ctest::a << endl;
Ctest ct;
cout << ct.a << endl;
return 0;
}结果:
注意点:
①,静态变量的初始化只能在类外进行,不能使用参数列表进行初始化。
②,其调用方案有2种:
1,类名作用域 : Ctest::a
2,对象调用: Ctest ct; ct.a
③,内外初始化需要加带变量类型名 : int Ctest::a = 12 。需要将int加上。
二,静态常量整形参数
#include <iostream>
using namespace std;
class Ctest
{
public:
static int a;
static const int b = 18;
};
int Ctest::a = 12;
int main()
{
cout << Ctest::b << endl;
Ctest ct;
cout << ct.b << endl;
return 0;
}结果:
静态方法:
#include <iostream>
using namespace std;
class Ctest
{
public:
static int a;
static const int b = 18;
static void fun1()
{
cout << "静态函数" << endl;
}
};
int Ctest::a = 12;
int main()
{
Ctest::fun1();
Ctest ct;
ct.fun1();
//cout << ct.b << endl;
return 0;
}结果:
本文出自 “Better_Power_Wisdom” 博客,请务必保留此出处http://aonaufly.blog.51cto.com/3554853/1922808
原文地址:http://aonaufly.blog.51cto.com/3554853/1922808