第16章 造物者与毁灭者——对象生灭
上一章介绍了如何编写一个简单的类,了解了公有和私有的概念,掌握了如何编写一个成员函数。但是靠这些,还远不能让编写的“类”符合需求。本章将介绍在创建一个对象和毁灭一个对象时,发生的一些事情。
本章的主要知识点有:
- 构造函数的概念
- 析构函数的概念
- 构造函数和析构函数的执行顺序
- 拷贝构造函数的概念及必要性
16.1 麻烦的初始化
在声明一个局部变量时,必须对它进行初始化,否则它的数据是一个不确定的值。同样,在声明一个对象时,也应该对它进行初始化。不过一个对象可能有许许多多的成员数据,对对象的初始化就意味着对它的成员数据进行初始化。变量的初始化只需要一条赋值语句就能完成,而对象的初始化可能要许许多多的赋值语句才能完成。因此,通常会把这些语句写在一个函数中。例如,我们为链表结点类编写了一个名为init的初始化函数。
class Node //定义一个链表结点类
{
public:
……
void init(int i,char c);
……
private:
int idata;
char cdata;
Node *prior;
Node *next;
};
void Node::init(int i,char c)
{
idata=i; //初始化idata
cdata=c; //初始化cdata
prior=NULL; //初始化前趋结点指针
next=NULL;
本文深入探讨C++中对象的生命周期,包括构造函数、析构函数和拷贝构造函数的作用。构造函数在对象创建时自动调用,用于初始化对象;析构函数在对象消亡时自动调用,释放动态分配的资源。拷贝构造函数用于创建与原有对象相同的新对象,分为浅拷贝和深拷贝。通过实例详细解释了这些概念及其应用场景。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



