从vector继承的类

 1 #include <iostream>
 2 #include <cstdlib>
 3 #include <cstring>
 4 #include <vector>
 5 using namespace std;
 6 
 7 
 8 class AVP
 9 {
10 private:
11     char *name;
12 public:
13     AVP()
14     {
15         name = NULL;
16     }
17     
18     AVP(const char* _name)
19     {
20         name = new char[strlen(_name) + 1];
21         strcpy(name, _name);
22     }
23     char* getName()
24     {
25         return name;
26     }
27 };
28 
29 class Read: public vector<AVP*>
30 {
31 public:
32     bool startup()
33     {
34         AVP* a1 = new AVP("apple");        
35         push_back(a1);
36         a1 = new AVP("orange");        
37         push_back(a1);
38         a1 = new AVP("pear");        
39         push_back(a1);
40         
41     }
42     static Read* getInstance()
43     {
44         if(instance == NULL)
45             instance = new Read();
46         return instance;
47     }
48     void print()
49     {
50         iterator it = begin();
51         for(; it != end(); ++it)
52         {
53             cout<<(*it)->getName()<<endl;
54         }
55         
56     }
57 protected:
58     Read()
59     {
60     }
61 private:
62     static Read* instance;
63 
64 };
65 Read* Read::instance = NULL;
66 int main()
67 {
68     Read::getInstance()->startup();
69     Read::getInstance()->print();
70     
71     
72     return 0;
73 }

如果不理解Read类从public vecotr<AVP*>继承的话,可以这样,vector<AVP*> _avp; 

Read类从_avp继承,这样就很好理解了,直接看代码

posted on 2017-01-17 18:11  川洋  阅读(1264)  评论(0编辑  收藏  举报