fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. #define Training // to declare the global variable
  6.  
  7. ///Definition of class Pocket
  8. class pocket
  9. {
  10. public:
  11. double volume;
  12. };
  13.  
  14. ///Definition of virtual class TrainerClass
  15. class TrainerClass
  16. {
  17. public:
  18. pocket *Space;
  19. virtual void AddItems()=0;
  20. };
  21.  
  22. ///Definition of derived class
  23. class BagClass: public TrainerClass
  24. {
  25. public:
  26. double mass;
  27.  
  28. BagClass(double m2)
  29. {
  30. mass=m2;
  31. }
  32.  
  33. void AddItems()
  34. {
  35. cout << "out virtual " << endl;
  36. }
  37. };
  38.  
  39. #ifdef Training
  40. #define Training
  41. TrainerClass **stuff=0;
  42. #else
  43. extern TrainerClass **stuff;
  44. #endif
  45.  
  46. int main()
  47. {
  48. int nbrtrainer = 2;
  49.  
  50. vector<TrainerClass*> stuff(nbrtrainer); // vector of the given dynamic size
  51. //for(int itrainer=0;itrainer<nbrtrainer;itrainer++)
  52. // stuff[itrainer] = new TrainerClass;
  53.  
  54. stuff[0] = new BagClass(0.2);
  55. stuff[1] = new BagClass(0.5);
  56.  
  57. stuff[0]->AddItems();
  58.  
  59. return 0;
  60. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
out virtual