【C++】C++中的构造函数和析构函数详解

本文详细介绍了C++中的构造函数和析构函数,包括它们的概念、特点以及在类中的应用。构造函数负责对象的初始化,析构函数则在对象生命周期结束时进行资源清理。学习了如何编写无参和有参构造函数,以及何时使用默认构造函数和析构函数的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎来到CILMY23的博客

本篇主题为:C++中的构造函数和析构函数详解

个人主页:CILMY23-CSDN博客

系列专栏:Python | C++ | C语言 | 数据结构与算法

感谢观看,支持的可以给个一键三连,点赞关注+收藏。


 写在前头:

本篇会从类的六个默认成员函数开始,进入构造函数和析构函数的了解。


目录

一、类的六个默认成员函数

二、构造函数

2.1 构造函数的概念

2.2 构造函数的特点

无参和有参的构造函数 

2.3 随机值的初始化 

三、析构函数

 3.1 析构函数概念

3.2 析构函数的特点 


一、类的六个默认成员函数

在上篇文章中(点击链接跳转),我们涉及到一个特殊类,这个类中什么成员都没有,其大小为1字节,我们将如果一个类中什么成员都没有,简称为空类

 例如:A1不是空类,A2是空类。

class A1
{
public:
	void f1(){}
};
 
class A2{};

空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员 函数。

什么是默认成员函数?
默认成员函数指的是用户没有显式实现,编译器会自动生成的成员函数称为默认成员函数

 9f17fce17cac4584841ce84e604964f2.png

二、构造函数

构造函数作为类默认成员函数中特殊的成员函数,是面向对象编程中非常重要的概念,那什么是构造函数呢?

2.1 构造函数的概念

现在我们有一个简易的学生类,注意,参数类型是const char*,而不是char(因为传入的参数是常量字符串,类型为const char*)

#include<iostream>
using namespace std;

class Student
{
public:
	void Init(const char* name,int age,const char* ID)
	{
		strcpy(_name, name);
		_age = age;
		strcpy(_ID, ID);
	}
	void Pri
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值