[ create a new paste ] login | about

Link: http://codepad.org/XF13zSUr    [ raw code | output | fork ]

C++, pasted on Apr 11:
#include <iostream>
#include <string>
using namespace std;

class Member
{
    public:
    int age;
    string name;
    Member() { age = 0; name=""; }
    Member(string n, int a)
    {
        name=n;
        age=a;
    }
    friend ostream& operator << (ostream& output, Member& m)
    {
       if (m.age == 0) 
           output<<"???"<<endl;
       else
           output<<m.name<<" "<<m.age<<endl;
       return output;
    }
    friend ostream& operator << (ostream& output, Member * m)
    {
       if (m->age == 0) 
           output<<"???"<<endl;
       else
           output<<m->name<<" "<<m->age<<endl;
       return output;
    }
};
class MemberList
{
    private: Member* members;
    private: int count;
    public: MemberList(Member m[], int c)
    {
        members=m; count=c;
    }
    Member* const operator[](const string s)
    {
        for (int i=0;i<count;i++)
            if (members[i].name == s) return &members[i];
        return new Member();
    }
};
int main()
{
Member newCommers[5] = { Member( "Zhang San", 22),
Member( "Li Si", 19),
Member( "Wang Wu", 18),
Member( "Zhao Liu", 24) };
for ( int i=0; i<5; i++)
cout << newCommers[i] << endl;

string name[5] = { "Zhang San", "Li Si",
"Wang Wu", "Zhao Liu",
"Pin Yin" };
MemberList list(newCommers , 5);
for (int i=0; i<5; i++)
cout << list[name[i]] << endl;

return 0;
}


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Zhang San 22

Li Si 19

Wang Wu 18

Zhao Liu 24

???

Zhang San 22

Li Si 19

Wang Wu 18

Zhao Liu 24

???



Create a new paste based on this one


Comments: