Advertisement
agrippa1994

virtual

Dec 24th, 2012
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.89 KB | None | 0 0
  1. #include <windows.h>
  2. #include <iostream>
  3. #include <stdio.h>
  4. #include <vector>
  5.  
  6. using namespace std;
  7.  
  8. class Tier
  9. {
  10. public:
  11.     Tier(){}
  12.     virtual ~Tier(){}
  13.     virtual void essen(){ cout << "Das Tier frisst!" << endl; }
  14.     void Hunger()
  15.     {
  16.         for(vector<Tier*>::iterator it = Tiere.begin(); it != Tiere.end(); it ++)
  17.         {
  18.             Tier *X = *it;
  19.             X->essen();
  20.         }
  21.     }
  22.     void AddTierObj(Tier* Obj)
  23.     {
  24.         Tiere.push_back(Obj);
  25.     }
  26. private:
  27.     vector<Tier*> Tiere;
  28. };
  29.  
  30. class Katze: public Tier
  31. {
  32. public:
  33.     Katze(){}
  34.     ~Katze(){}
  35.     void essen() { cout << "Katze frisst" << endl; }
  36. };
  37.  
  38. class Hund : public Tier
  39. {
  40. public:
  41.     Hund()  {}
  42.     ~Hund(){}
  43.  
  44.     void essen() { cout << "Hund frisst!" << endl; }
  45. };
  46.  
  47. void Fressen(Tier* x)
  48. {
  49.     x->Hunger();
  50. }
  51. int main()
  52. {
  53.     Hund H;
  54.     Katze K;
  55.     Tier T;
  56.  
  57.     T.AddTierObj(&H);
  58.     T.AddTierObj(&K);
  59.  
  60.     T.Hunger();
  61.     T.Hunger();
  62.  
  63.     getchar();
  64.     return 1;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement