c++静态成员变量初始化时不受访问权限控制

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 }

 

posted @ 2017-10-15 22:43  hchacha  阅读(944)  评论(0)    收藏  举报