矩形类Rectangle的构造与析构

需积分: 0 0 下载量 45 浏览量 更新于2024-08-04 收藏 542KB DOCX 举报
本资源是一份关于C++面向对象编程的作业示例,涉及到类(Class)的设计和使用,重点在于析构函数(Destructor)的概念。在提供的代码片段中,有两个类:Point和Rectangle,它们展示了基础的构造函数、成员变量、赋值操作符、设置方法以及析构函数的用法。 首先,我们来看`Point`类: 1. `Point`类包含两个私有成员变量`x`和`y`,表示二维空间中的一个点。它具有默认构造函数,接受整数参数初始化坐标,以及拷贝构造函数和赋值运算符,用于创建新对象并允许对象之间的数据传递。`Print()`函数用来显示点的坐标,而析构函数`~Point()`会在对象生命周期结束时被调用,打印出“Point的析构函数”和坐标,并输出一条消息。 `Rectangle`类更复杂,包含了两个Point对象:`left_bottom`和`right_top`,代表矩形的左下角和右上角坐标。`Abs()`是静态辅助函数,用于计算整数的绝对值。Rectangle类的构造函数接受不同形式的参数,可以初始化矩形的坐标。类中有`Set()`方法,用于设置矩形的边界,同时也有拷贝构造函数和赋值运算符。 值得注意的是,`Rectangle`类的`Set()`方法,除了接受整数参数外,还接受一个`Point`类型的参数,这展示了类之间的兼容性。当使用`Set()`方法时,如果传入的是`Point`对象,它会自动调用`Point`类的`Set()`方法更新内部坐标。 最后,`Rectangle`类的析构函数与`Point`类似,也会在对象销毁时被调用,打印出“Rectangle的析构函数”和矩形的边界坐标。这表明了当包含`Point`对象的`Rectangle`对象被销毁时,它们的析构函数会被正确地执行,确保资源的释放。 总结来说,这份作业展示了C++中类的基本概念,包括构造函数、析构函数、成员变量、赋值操作符、设置方法以及类之间的交互。通过实例化和使用这些类,学生可以深入理解面向对象编程的核心原则,如封装、继承和多态。同时,析构函数的作用在内存管理中不可或缺,确保对象生命周期结束时的资源清理。