静态函数,instance

#include <iostream>
using namespace std;
class Config{
public:
   void set_a(int _a)
   {a = _a;}
   void set_b(int _b)
   {b = _b;}
   int get_a()
   {
   return a;
   }
   int get_b()
   {
   return b;
   }
   static Config* instance(){
   static Config* config =  new Config();//此处将返回指针声明为,那么调用Config::instance()只会在第一次调用时new一次,后面直接返回指向那区域
                                         //  的指针静态变量是类的所有实例共享的(所以只有一个?) 如果返回的是Config× 那么这个函数是静态的,但是
                                         //  返回的指针不是静态的,所以每次调用都NEW了
                                         //   一下。
   return config;
   }
private:
   int a,b;
};

int main()
{
Config::instance()->set_a(3);
Config::instance()->set_b(4);
int a = Config::instance()->get_a();
int b = Config::instance()->get_b();
cout <<a <<endl<<b<<endl;           //返回的是static Config* 输出则为3,4.         
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值