菜鸟的博客

纵有疾风起,人生不言弃。

导航

2023.5.11

 1 //例6-16
 2 #include <iostream>
 3 using namespace std;
 4 class Point
 5 {
 6 public:
 7     Point() :x(0), y(0)
 8     {
 9         cout << "Default Constructor called." << endl;
10     }
11     Point(int x, int y) :x(x), y(y)
12     {
13         cout << "Constructor called." << endl;
14     }
15     ~Point()
16     {
17         cout << "Destructor called." << endl;
18     }
19     int getX() const { return x; }
20     int getY() const { return y; }
21     void move(int newX, int newY)
22     {
23         x = newX;
24         y = newY;
25     }
26 private:
27     int x, y;
28 };
29 void test01()
30 {
31     cout << "Step one:" << endl;
32     Point* ptr1 = new Point;
33     delete ptr1;
34     cout << "Step two:" << endl;
35     ptr1 = new Point(1, 2);
36     delete ptr1;
37 }
38 int main()
39 {
40     test01();
41     return 0;
42 }
 1 //例6-17
 2 #include <iostream>
 3 using namespace std;
 4 class Point
 5 {
 6 public:
 7     Point() :x(0), y(0)
 8     {
 9         cout << "Default Constructor called." << endl;
10     }
11     Point(int x, int y) :x(x), y(y)
12     {
13         cout << "Constructor called." << endl;
14     }
15     ~Point()
16     {
17         cout << "Destructor called." << endl;
18     }
19     int getX() const { return x; }
20     int getY() const { return y; }
21     void move(int newX, int newY)
22     {
23         x = newX;
24         y = newY;
25     }
26 private:
27     int x, y;
28 };
29 void test01()
30 {
31     Point* ptr = new Point[2];
32     ptr[0].move(5, 10);
33     ptr[1].move(15, 20);
34     cout << "Deleting..." << endl;
35     delete[] ptr;
36 }
37 int main()
38 {
39     test01();
40     return 0;
41 }

 

posted on 2023-05-11 22:49  hhmzd233  阅读(19)  评论(0)    收藏  举报