C++类与对象解析:析构函数示例

需积分: 0 2 下载量 70 浏览量 更新于2024-08-24 收藏 590KB PPT 举报
"析构函数例--打印出-C++类和对象" C++中的类和对象是面向对象编程的基础。类可以被看作是创建对象的蓝图,它定义了一组特性和行为,这些特性称为数据成员,行为则由成员函数表示。在给定的例子中,我们有一个名为`student`的类,它有两个数据成员:`name`和`score`,以及两个构造函数和一个析构函数。 析构函数是C++中的一种特殊成员函数,它的名字以波浪线`~`开头,用于在对象生命周期结束时执行一些清理工作。在这个例子中,`~student()`析构函数的作用是在对象销毁时打印出学生的姓名。当`main`函数中的`stu1`, `stu2`和`no_name`对象生命周期结束时,对应的析构函数会被调用,分别输出它们的`name`值。 在`student`类中,我们有两个构造函数。一个是带有参数的构造函数,`student(char *name1, double score1)`,用于初始化学生对象的名字和分数。另一个是默认构造函数,`student()`,在没有提供参数时使用,设置默认值`"no name"`和`0.0`。 `main`函数中创建了三个`student`对象:`stu1`、`stu2`和`no_name`。`stu1`和`stu2`通过参数化的构造函数初始化,而`no_name`使用默认构造函数。当程序执行完毕,`main`函数的作用域结束,这三个对象就会被销毁,对应的析构函数也会依次执行,输出各自的名字。 类与对象之间的区别可以从认知和语法两个角度理解。从认知角度看,类是对一类事物的抽象,比如人、桌子等,而对象是这些类的具体实例。在C++语法层面,类是一种包含数据和操作这些数据的函数的复合数据类型,而对象则是根据类创建的变量。 类中的成员可以分为三类:public、private和protected。public成员可以在类的外部被访问,private成员只能在类的内部访问,protected成员可以被类本身及其子类访问。这样的访问控制是封装的一部分,有助于保护数据的安全性。 在C++中,类提供了创建自定义数据类型的能力,而对象是这些类型的实例。成员函数定义了对象的行为,数据成员则代表对象的状态。与C中的结构体(struct)相比,类更强调数据的封装和隐藏,提供了更好的数据保护。 这个例子展示了如何在C++中定义和使用类,特别是析构函数的应用,以及如何通过构造函数初始化对象。同时,它也强调了类和对象在面向对象编程中的核心地位。