对象的初始化和清理

  • 电子产品的出厂设置以及不用的数据的清理
  • C++每个对象都有数据的初始化操作和数据清理的设置

构造函数和析构函数

这两个函数是由编译器自动调用的,可以不写
构造函数语法:类名(){} 注:必须写作用域public

  1. 构造函数,没有返回值也不写void
  2. 函数名和类名相同
  3. 可以有参数,因此可以发生重载
  4. 编译器自动调用且只调用一次

析构函数语法:~类名(){}

  1. 析构函数,没有返回值也不写void
  2. 函数名和类名相同,在前面加上~
  3. 析构函数不可以有参数,因此也不可以发生重载
  4. 程序在对象销毁前会自动调用析构函数,且只调用一次
#include <iostream>
using namespace std;class Person{public://构造函数 Person(){cout << "Person 构造函数的调用!" << endl; }//析构函数~Person(){cout << "Person 析造函数的调用!" << endl; }
};void test01(){Person p; //在栈上的对象,test01执行完毕后,释放这个对象
}
int main(){//  test01(); Person p; system("pause");return 0;
}

类和对象—对象特性—构造函数和析构函数相关推荐

  1. 对象生死劫 - 构造函数和析构函数的异常

    对象生死劫 - 构造函数和析构函数的异常 2007-09-13 09:11 2086人阅读 评论(7) 收藏 举报 构造函数和析构函数分别管理对象的建立和释放,负责对象的诞生和死亡的过程.当一个对象诞 ...

  2. 对象特性-构造函数和析构函数

    基础概念: 构造函数:是一种特殊的方法.主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中.特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或 ...

  3. 对象生死劫 - 构造函数和析构函数的异常(转)

    构造函数和析构函数分别管理对象的建立和释放,负责对象的诞生和死亡的过程.当一个对象诞生时,构造函数负责创建并初始化对象的内部环境,包括分配内存.创建内部对象和打开相关的外部资源,等等.而当对象死亡时, ...

  4. C++类与对象:程序片段编程题/汽车类的定义,拷贝构造函数,析构函数的定义

    定义一个汽车类Car,其成员数据包括汽车编号id.品牌brand.发动机动力power和载客人数numOfPersons, 实现一个打印自身信息的成员函数printCar(). 定义默认构造函数.带所 ...

  5. C++学习笔记【类和对象】【构造函数和析构函数】

    主要内容来源:https://www.bilibili.com/video/BV1et411b73Z?spm_id_from=333.999.0.0 一.构造函数 构造函数的分类 1.按参数分:无参构 ...

  6. c++ map 析构函数_C++学习刷题6--C++类的使用:构造函数、析构函数和类的使用

    一.前言 本部分为C++语言刷题系列中的第4节,主要讲解这几个知识点:构造函数.析构函数和类的使用.欢迎大家提出意见.指出错误或提供更好的题目! 二.知识点讲解 由以前知识可知,类的实现中包含成员变量 ...

  7. C++类的构造函数和析构函数

    1.创建一个对象时,常常需要某些初始化操作:注意:类的数据成员是不能在类声明时初始化的. 构造函数是一种特殊的成员函数,与其它成员函数不能,不需要用户调用,在实例化对象时会自动执行构造函数初始化类成员 ...

  8. C++中对象数组的构造函数和析构函数调用

    C++的对象数组 顾名思义,即是存储对象的数组.比如有一个对象A,实例化为对象数组有如下两种方式: A a[3]; //第一种方法,在栈空间中占用内存 A *a = new A[3];//第二种方法, ...

  9. [YTU]_2625( 构造函数和析构函数)

    Description 在建立类对象时系统自动该类的构造函数完成对象的初始化工作, 当类对象生命周期结束时,系统在释放对象空间之前自动调用析构函数. 此题要求: 根据主程序(main函数)和程序执行结 ...

最新文章

  1. 卷积神经网络四种卷积类型
  2. HNU 2015暑期新队员训练赛2 H Blanket
  3. 计算机网络-数据链路层
  4. Linux运维工程师必学必备的8项IT技能
  5. unity(2017.3) C# 常用API
  6. 中小卖家需要避开的三个坑
  7. 第二阶段冲刺报告(三)
  8. Steve Yegge -Execution in the Kingdom of Nouns
  9. 基于java小区物业管理系统(含源文件)
  10. 两角和与差的余弦公式的五种推导方法之对比
  11. 彻底清除狗太阳的3721病毒完全手册!
  12. 计算机单片机考试作弊检讨书,考试作弊检讨书2000字5篇
  13. 鸿蒙Ability继承FractionAbility可以直接获取Fraction内的控件
  14. 输出方波c语言程序,产生锯齿波以及方波的C程序
  15. JavaScript根据开始时间和结束时间计算具体礼拜几
  16. .net core 和 WPF 开发升讯威在线客服系统:使用 WebSocket 实现访客端通信
  17. 海思HI3516A千兆网卡换百兆网卡配置方法
  18. cmd怎么实现隐藏DOS窗口运行程序
  19. weex中UISegmentControl实现及遇到的问题
  20. squeeze的意义

热门文章

  1. Android开发视频教程
  2. Bug整理——$(window).height()获取到$(document).height()的问题
  3. 谈谈对线程与进程的理解
  4. [No000018]都在背单词,为啥学霸那么厉害-如何在一天内记200个单词?
  5. Twitter的系统编程
  6. Linux下获取毫秒级时间差
  7. UA OPTI570 量子力学22 2-D Isotropic Q.H.O.简介
  8. newLisp使用初步
  9. 图解CodeSmith使用和实用教程一 - 入门和生成MIS项目实体层代码
  10. (18)打鸡儿教你Vue.js