C++?????Singleton?????????
???????????? ???????[ 2013/3/8 10:48:54 ] ????????
????????????????????е?????????????????????????????????????????singleton????????????????????“?????”???????????????????????????????????????п???????????????Щī???????????1?????????????????????????????
main.c
00001: #include <iostream>
00002:
00003: using namespace std;
00004:
00005: class singleton1_t
00006: {
00007: public:
00008: static singleton1_t *instance ()
00009: {
00010: return &instance_;
00011: }
00012:
00013: void count_increase () {count_ ++;}
00014: int count () const {return count_;}
00015:
00016: private:
00017: singleton1_t (): count_ (0) {}
00018: ~singleton1_t () {}
00019:
00020: static singleton1_t instance_;
00021: int count_;
00022: };
00023:
00024: class singleton2_t
00025: {
00026: public:
00027: static singleton2_t *instance ()
00028: {
00029: return &instance_;
00030: }
00031:
00032: private:
00033: singleton2_t () {singleton1_t::instance ()->count_increase ();}
00034: ~singleton2_t () {}
00035:
00036: static singleton2_t instance_;
00037: };
00038:
00039: singleton2_t singleton2_t::instance_;
00040: singleton1_t singleton1_t::instance_;
00041:
00042: int main ()
00043: {
00044: (void) singleton2_t::instance ();
00045: cout << "count = " << singleton1_t::instance ()->count () << endl;
00046: return 0;
00047: }
??????е????????????singleton?????????????????????????????????private?????????singleton??????????????????????Σ????????????????????????????
??????е?singleton2_t?????乹?????е???singleton1_t???count_increase ()????????????????44?е??????????????singleton2_t???????46?д????????singleton1_t????????????2?????ó???????н????
$ g++ main.cpp -o singleton.exe
$ ./singleton.exe
count = 0
???????????????????????0??????1?е?????????????????????singleton2_t????????????????singleton1_t??????singleton1_t???????????????count_?????ó?0?????????singleton2_t??????????????????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11