#include <iostream>
using namespace std;
/**
* static只能在类外初始化,const只能在构造函数中初始化
* static const&const static初始化可以在类外初始化,但需要使用const关键字,也可以在内部赋初值。
**/
class A {
private:
static int static_i;
const int const_i;
//const int const_i = 9;
static const int sc_i;
public:
A(int a);
const static int cs_i = 99;
static void print();
int getConst(){
return const_i;
}
};
int A::static_i = 1;
const int A::sc_i = 9;
A::A(int a):const_i(a){
static_i += a;
}
void A::print(){
cout<<"static_i: "<<static_i<<endl;
cout<<"sc_i: "<<sc_i<<endl;
//cout<<"const_i: "<<const_i<<endl; //不可访问
}
int main()
{
A a(100);
a.print();
cout<<"==========================================================="<<endl;
cout<<a.getConst()<<endl;
cout<<A::cs_i<<endl;
cout<<a.cs_i<<endl;
cout<<"==========================================================="<<endl;
A::print();
return 0;
}
未完待续。
C++中static、const初始化
最新推荐文章于 2024-01-12 14:40:12 发布