Guest User

Untitled

a guest
May 22nd, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.28 KB | None | 0 0
  1. #ifndef ROIVAD_H_INCLUDED
  2. #define ROIVAD_H_INCLUDED
  3. #include <iostream>
  4. #include <cstdlib>
  5.  
  6. using namespace std;
  7.  
  8. class Tookojad {
  9.   public:
  10.     void valmistaRavhariieteKomplekt();
  11.     //virtual int type()=0;
  12. };
  13.  
  14. class Rahvaroivad {
  15.   public:
  16.     virtual void prindiKirjeldus();
  17. };
  18.  
  19. class Pohjariided : public Rahvaroivad {
  20.   public:
  21.     String seelik;
  22.     String myts;
  23.    
  24.     Pohjariided() {
  25.       this.seelik = "Foo";
  26.       this.myts = "Bar";
  27.     }
  28.     void print() {
  29.       cout << "Seelik: " << this.seelik << ", müts: " << this.myts << endl;
  30.     }
  31. };
  32.  
  33. class Pohja : public Tookojad {
  34.   public:
  35.     Rahvaroivad * valmistaRahvariieteKomplekt() {
  36.       return new Pohjariided();
  37.     };
  38. };
  39.  
  40. class Louna : public Tookojad {
  41.   public:
  42.     void valmistaRahvariieteKomplekt();
  43.     //type = 2;
  44. };
  45.  
  46. class Laane : public Tookojad {
  47.   public:
  48.     void valmistaRahvariieteKomplekt();
  49.     //type = 3;
  50. };
  51.  
  52. class Saare : public Tookojad {
  53.   public:
  54.     void valmistaRahvariieteKomplekt();
  55.     //type = 4;
  56. };
  57.  
  58. class Firmad {
  59.   public:
  60.     Tookojad * tookojad[4] = {new Pohja(), new Louna(), new Laane(), new Saare()};
  61.     Rahvaroivad * tellikomplekt(int type) {
  62.       return tookojad[type].valmistaRahvariieteKomplekt();
  63.     }
  64. };
  65.  
  66. #endif // ROIVAD_H_INCLUDED
Add Comment
Please, Sign In to add comment