您的位置:首页 > 其它

当构造函数为私有,如何调用之

2012-05-20 22:54 162 查看

#include<iostream>

using namespace std;

class A

{

private:

 A(){

  cout<<"hello";

 }

public:

 static A& get()//~1

 {

  static A a;//~2

  return a;

 }

};

int main()

{

 A a=A::get();//~3

// A x;//这样会报错cannot access private member declared in class 'A' 

return 0;

}

这里要注意:

1 成员必须是static,这是为了保证能通过类来调用

2 临时变量更加必须是static,否则函数执行完了空间释放,返回值无意义

3 “=”的右结合性,使其先建立对象后初始化a
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  access class