Advertisement
avr39-ripe

PV913Constructors

May 13th, 2020
1,097
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.83 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. class Number
  4. {
  5.     int num;
  6. public:
  7.     Number() : num{0} {std::cout << "Number DEFAULT constructed!\n"; };
  8.     Number(int pNum) : num{pNum} { std::cout << "Number constructed!\n"; };
  9.     int getNum() { return num; };
  10.     void setNum(int pNum) { num = pNum; };
  11. };
  12.  
  13. class Point
  14. {
  15. private:
  16.     int x;
  17.     int y;
  18.     Number num;
  19.     int secretMethod() {};
  20.     void initPrint() { std::cout << "\nPoint constructed!\n"; };
  21. public:
  22. //  Point() : x{ -10 }, y{ 42 }, num{ 33 } {initPrint(); };
  23.     Point(int pX, int pY, int pNum) : x{ pX }, y{ pY }, num{ pNum } {};
  24.     Point() : Point(-10, 42, 33) {};
  25.     Point(int pNum) : Point(-67, 76, pNum) {};
  26.     void show() {/* point specific code*/ };
  27.     void hide() {/* point specific code*/ };
  28.     void move(int dx, int dy) { hide(); x += dx; y += dy; show(); }
  29.     bool setX(int aX)
  30.     {
  31.         if (aX < -1000 or aX > 1000 )
  32.         {
  33.             return false;
  34.         }
  35.         x = aX;
  36.         return true;
  37.     };
  38.     bool setY(int aY)
  39.     {
  40.         if (aY < -1500 or aY > 1500)
  41.         {
  42.             return false;
  43.         }
  44.         y = aY;
  45.         return true;
  46.     };
  47.     int getX() { return x; };
  48.     int getY() { return y; };
  49. };
  50.  
  51. class Circle : public Point
  52. {
  53.     int r;
  54. public:
  55. //  void printXY() { std::cout << x << y; }
  56. //  void show() {/* circle specific code*/};
  57. //  void hide() {/* circle specific code*/ };
  58. };
  59.  
  60. int main()
  61. {
  62.     //Test myTest;
  63.     //std::cout << myTest.a << " : " << myTest.b << '\n';
  64.     Point myPoint{56}; // myPoint.x myPoint.y
  65.     std::cout << "myPoint x = " << myPoint.getX() << '\n';
  66.     std::cout << "myPoint y = " << myPoint.getY() << '\n';
  67.  
  68.     return 0;
  69.     //myPoint.x = 10;
  70.     //myPoint.y = 20;
  71.     //myPoint.secretMethod();
  72.     myPoint.setX(0);
  73.     myPoint.setY(0);
  74.     if (myPoint.setX(900))
  75.     {
  76.         std::cout << "x changed successfuly!\nx = " << myPoint.getX() << '\n';
  77.     }
  78.     else
  79.     {
  80.         std::cout << "x UNchanged! Check value!\nx = " << myPoint.getX() << '\n';
  81.     }
  82.     myPoint.hide();
  83.  
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement