fork download
  1. #include <iostream>
  2.  
  3. class Drawable
  4. {
  5. public:
  6. int x;
  7. int y;
  8. virtual void move() {};
  9. Drawable()
  10. {
  11. x = 0;
  12. y = 0;
  13. }
  14. };
  15.  
  16. class Ball : public Drawable
  17. {
  18. public:
  19. Ball() {}
  20. void move()
  21. {
  22. x += 1;
  23. y += 1;
  24. }
  25. };
  26.  
  27. int main()
  28. {
  29. Drawable *ball = new Ball();
  30.  
  31. Drawable* drawableArray1[1];
  32. drawableArray1[0] = ball;
  33.  
  34. Drawable* drawableArray2 = new Drawable[1];
  35. drawableArray2[0] = *ball;
  36.  
  37. std::cout << drawableArray1[0]->x << std::endl; // 0
  38. std::cout << drawableArray2[0].x << std::endl; // 0
  39.  
  40. ball->move();
  41.  
  42. std::cout << drawableArray1[0]->x << std::endl; // 1
  43. std::cout << drawableArray2[0].x << std::endl; // 0
  44.  
  45. return 0;
  46. }
Success #stdin #stdout 0s 3428KB
stdin
Standard input is empty
stdout
0
0
1
0