Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <vector>
- using namespace std;
- struct Base {
- string type;
- int av;
- Base () { av = 2; type = "Base"; }
- };
- struct A : public Base {
- int bv;
- A () { av = 1; bv = 3; type = "A"; }
- };
- struct database {
- vector <Base*> basev;
- Base* findb (int value) {
- static Base sbase; Base* pbase = &sbase;
- pbase->type = "nothing";
- for (int i = 0; i < basev.size (); ++i) {
- if (basev [i]->av == value) return basev [i];
- }
- return pbase;
- }
- } db;
- int main() {
- Base* pBase = new Base;
- A* pA = new A;
- pBase->av = 5;
- pA->av = 2;
- db.basev.push_back (pBase);
- db.basev.push_back (pA);
- Base* found = db.findb (2);
- if (found->av > -1) {
- cout << "Found " << found->type << endl;
- }
- delete pBase, pA;
- cout << "\nDone";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement