codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#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; }
Private
[
?
]
Run code
Submit