#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.
}
静态函数,instance
最新推荐文章于 2023-06-29 12:08:44 发布