C++初阶学习第四弹——类与对象(中)——刨析类与对象的核心点

05-14 阅读 0评论

类与对象(上):C++初阶学习第三弹——类与对象(上)——初始类与对象-CSDN博客

前言:

在前面文章中,我们已经讲了类与对象的思想和类与对象的一些基本操作,接下来这篇文章我们将讲解以下类与对象的六个默认成员函数(注意:这部分是类与对象的核心之一,理解这些默认成员函数才有助于我们更好的使用这些默认成员函数)

上一章内容:

C++初阶学习第四弹——类与对象(中)——刨析类与对象的核心点

目录

一、默认成员函数是什么?

二、默认成员函数有哪些?

三、六种默认成员函数

1、构造函数

1.1 构造函数的作用

1.2 构造函数的用法

1.3 默认构造函数

2、析构函数

2.1 析构函数的作用

2.2 析构函数的用法

2.3 默认析构函数

3、拷贝构造函数

3.1 拷贝构造函数的作用

3.2 拷贝构造函数的用法

3.3 默认拷贝构造函数


一、默认成员函数是什么?

在一个类中,我们一般称呼里面的变量等统统为成员,自然函数称为成员函数,变量称为成员变量

class A
{
public:
	int Add(int x,int y)   //成员函数
	{
		return x + y;
	}
private:
	int a;   //成员变量
};

而默认成员函数就是不用写,编译器会自动生成的函数,比如上面写的Add函数如果为默认生成函数,那么我们可以不进行声明定义,直接调用该函数,具体操作我们可以往下看

二、默认成员函数有哪些?

在解答这个问题之前,我们首先先来考虑,为什么语法上会创建这种默认成员函数,其实就是因为人的惰性,如果一个函数每个类都需要调用或者有可能调用到,那我们为什么不可以通过底层的一些操作,让每个类中都自动生成这些成员函数,这就是默认成员函数

通过上面我们应该明白,默认成员函数一定是所有类中都需要的,那主要有哪些呢?

主要有以下六种:

C++初阶学习第四弹——类与对象(中)——刨析类与对象的核心点

三、六种默认成员函数

1、构造函数

1.1 构造函数的作用

构造函数是用来初始化的,初始化对于每个类对象都是不可或缺的

比如Date类:

class Date
{
public:
	void Init(int year, int month, int day)
	{
		_year = year;
		_month = month;
		_day = day;
	}
private:
	int _year;
	int _month;
	int _day;
};
int main()
{
	Date a1;
	a1.Init(2023, 2, 4);
	Date a2;
	a2.Init(2024, 2, 4);
	return 0;
}

当我们创建Date类的成员时,比如例子中创建的a1、a2,在创建后我们需要对其初始化,但是每一个类成员我们都需要调用Init函数,这样就会显得十分麻烦,我们是否可以通过某种操作直接在创建类变量的同时进行初始化,这就是构造函数诞生的原因

1.2 构造函数的用法

注意事项:

1、首先,我们要知道构造函数其实就是特殊的成员函数,它还是封装在类中的

2、因为我们要实现在创建类变量的同时进行初始化,所以构造函数的名字与类名相同

3、构造函数可以是半缺省或者全缺省的

4、一个类中只能有一个构造函数,一旦自己写了编译器就不会生成默认构造函数

构造函数的形式如下:

class Date
{
public:
	Date(int year, int month, int day)
	{
		_year = year;
		_month = month;
		_year = year;
	}
	void Print()
	{
		cout 

免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,人围观)

还没有评论,来说两句吧...

目录[+]