栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++类构造函数&析构函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++类构造函数&析构函数

类的构造函数
  • 类的构造函数的类的一种特殊的成员函数,它会在每次创建类的新对象时执行。
  • 构造函数的名称与类的名称完全相同,并且没有返回值
  • 构造函数可用于为某些成员变量设置初始值
  • 可以由用户自己定义实现,根据需要设计对数据成员进行初始化,依旧可以设置函数的默认参数
  • 如果我们没有定义构造函数,编辑器会为我们自动定义一个无参的默认构造函数,它不对成员属性做任何操作,如果我们定义了构造函数,编辑器就不会再创建默认构造函数了
C++的拷贝构造函数

C++的拷贝构造函数是构造函数的一种,是对类对象的初始化,拷贝构造函数只有一个参数就是本类的引用。
拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象

通常用于:

  • 通过使用另一个同类型的对象来初始化新创建的对象
  • 复制对象把它作为参数传递给函数
  • 复制对象,并从函数返回这个对象
classname (const classname &obj) {
   // 构造函数的主体
}

如果在类中没有定义拷贝构造函数,编译器会自行定义一个;
如果类带有指针变量,并有动态内存分配,则它必须有一个拷贝构造函数

类的析构函数
  • 类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。

  • 析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。

题外

如果我们使用new运算符来动态的创建一个对象,这个对象是不会自动被销毁的,我们需要手动使用delete销毁,这个时候析构函数会随着delete的使用而被调用。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/982226.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号