1. 程式人生 > >c++靜態成員變量初始化時不受訪問權限控制

c++靜態成員變量初始化時不受訪問權限控制

靜態成員 col stat name code new clas getname return

1、要在類外初始化,const 成員變量才能在類內初始化

2、初始化在類外,而不在main函數內

 1 class A{
 2 private:
 3     string name;
 4     A(){ name = "a"; }
 5     A(const char*c){ name = c; }
 6 public:
 7     string& getname(){ return name; }
 8     static A* ap;
 9 };
10 A* A::ap = new A("dhhaj");
11 A* A::ap = new A();//多次初始化錯誤
12
int main(int argc, char *argv[]) 13 { 14 15 //A* A::ap = new A("dhhaj");//靜態成員變量的初始化不能在類內 16 cout << A::ap->getname() << endl; 17 }

c++靜態成員變量初始化時不受訪問權限控制