欢迎来到CILMY23的博客
本篇主题为:C++中的构造函数和析构函数详解
个人主页:CILMY23-CSDN博客
系列专栏:Python | C++ | C语言 | 数据结构与算法
感谢观看,支持的可以给个一键三连,点赞关注+收藏。
写在前头:
本篇会从类的六个默认成员函数开始,进入构造函数和析构函数的了解。
目录
一、类的六个默认成员函数
在上篇文章中(点击链接跳转),我们涉及到一个特殊类,这个类中什么成员都没有,其大小为1字节,我们将如果一个类中什么成员都没有,简称为空类。
例如:A1不是空类,A2是空类。
class A1
{
public:
void f1(){}
};
class A2{};
空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员 函数。
什么是默认成员函数?
默认成员函数指的是用户没有显式实现,编译器会自动生成的成员函数称为默认成员函数。
二、构造函数
构造函数作为类默认成员函数中特殊的成员函数,是面向对象编程中非常重要的概念,那什么是构造函数呢?
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