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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?