静态成员(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; }
结果:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。