静态成员(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