fork download
  1. #include <iostream>
  2. using namespace std;
  3. class Shape
  4. {
  5. public:
  6. Shape();
  7. virtual void WhereAmI();
  8. };
  9.  
  10. class Rect : public Shape
  11. {
  12. public:
  13. Rect();
  14. int rekt;
  15. virtual void WhereAmI();
  16. };
  17.  
  18. Shape::Shape()
  19. {}
  20.  
  21. void Shape::WhereAmI()
  22. {
  23. std::cout << "Now I am in class Shape" << std::endl;
  24. }
  25.  
  26. Rect::Rect()
  27. {}
  28.  
  29. void Rect::WhereAmI()
  30. {
  31. std::cout << "Now I am in class Rect" << std::endl;
  32. }
  33.  
  34. int main() {
  35.  
  36. // В чем заключается отличие 1) и 2)
  37.  
  38. Shape* pShapes = new Rect[10];
  39. Rect* pRects = new Rect[10];
  40.  
  41. //Попробуйте вызвать метод WhereAmI() для каждого элемента обоих массивов -
  42. //в чем заключается проблема???
  43.  
  44. for (int i = 0; i < 10; i++)
  45. {
  46. pShapes[i].WhereAmI();
  47. pRects[i].WhereAmI();
  48. }
  49.  
  50.  
  51. //Освободите динамически захваченную память
  52. delete[] pShapes;
  53. delete[] pRects;
  54.  
  55. return 0;
  56. }
Runtime error #stdin #stdout 0s 16064KB
stdin
Standard input is empty
stdout
Now I am in class Rect
Now I am in class Rect