静态成员(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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。