c++类和对象一对象特性一构造函数和析构函数

简介: c++类和对象一对象特性一构造函数和析构函数

在面向对象编程(Object-Oriented Programming,OOP)中,类是对象的模板,而对象是类的实例。每个对象都有其特性,这些特性在C++中通常通过成员变量来表示,而对象的行为则通过成员函数来定义。对象的生命周期中,有两个特别重要的成员函数:构造函数(Constructor)和析构函数(Destructor)。

 

构造函数(Constructor)

构造函数是一种特殊的成员函数,它在创建对象时自动调用。它的主要目的是初始化对象的数据成员。构造函数的名称与类的名称相同,并且它不接受任何返回类型,甚至不是void。

 

特点:

构造函数可以有参数,也可以没有参数。

如果有多个构造函数,它们被称为构造函数的重载。

构造函数可以是public、protected或private,但通常它们是public的,以便可以从类的外部创建对象。

示例


image.png image.png

析构函数(Destructor)

析构函数是另一种特殊的成员函数,它在删除对象时自动调用。析构函数用于执行任何必要的清理任务,例如释放动态分配的内存或关闭文件等。析构函数的名称是在类名前加上一个波浪号(~)。

 

特点:

析构函数没有参数,也没有返回类型。

析构函数只能有一个。

析构函数不能是const、volatile或static。

析构函数通常是public的,但也可以是protected或private。

示例:

image.png

在这个例子中,Person类有一个析构函数,它负责在delete p;语句执行时释放Person对象可能占用的资源。

 

总结

构造函数和析构函数是C++中面向对象编程的两个重要特性,它们分别负责在对象创建和销毁时执行特定的操作。构造函数允许我们在对象创建时对其进行初始化,而析构函数则确保在对象不再需要时能够正确地清理资源。合理地使用这两个函数可以帮助我们编写更加健壮和安全的代码。

目录
相关文章
|
26天前
|
编译器 C++
C++之类与对象(完结撒花篇)(上)
C++之类与对象(完结撒花篇)(上)
32 0
|
21天前
|
存储 编译器 对象存储
【C++打怪之路Lv5】-- 类和对象(下)
【C++打怪之路Lv5】-- 类和对象(下)
21 4
|
21天前
|
编译器 C语言 C++
【C++打怪之路Lv4】-- 类和对象(中)
【C++打怪之路Lv4】-- 类和对象(中)
19 4
|
22天前
|
存储 编译器 C语言
【C++打怪之路Lv3】-- 类和对象(上)
【C++打怪之路Lv3】-- 类和对象(上)
15 0
|
26天前
|
编译器 C++ 数据库管理
C++之类与对象(完结撒花篇)(下)
C++之类与对象(完结撒花篇)(下)
28 0
|
21天前
|
存储 安全 C++
【C++打怪之路Lv8】-- string类
【C++打怪之路Lv8】-- string类
17 1
|
1月前
|
存储 编译器 C++
【C++类和对象(下)】——我与C++的不解之缘(五)
【C++类和对象(下)】——我与C++的不解之缘(五)
|
1月前
|
编译器 C++
【C++类和对象(中)】—— 我与C++的不解之缘(四)
【C++类和对象(中)】—— 我与C++的不解之缘(四)
|
1月前
|
编译器 C语言 C++
C++入门3——类与对象2-2(类的6个默认成员函数)
C++入门3——类与对象2-2(类的6个默认成员函数)
23 3
|
1月前
|
C++
C++番外篇——对于继承中子类与父类对象同时定义其析构顺序的探究
C++番外篇——对于继承中子类与父类对象同时定义其析构顺序的探究
51 1