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

前言:

上一章内容:

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

目录

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

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

三、六种默认成员函数

1、构造函数

1.1 构造函数的作用

1.2 构造函数的用法

1.3 默认构造函数


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

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

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

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

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

主要有以下六种:

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

三、六种默认成员函数

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;
}

1.2 构造函数的用法

注意事项:

构造函数的形式如下:

class Date
{
public:
	Date(int year, int month, int day)
	{
		_year = year;
		_month = month;
		_year = year;
	}
	void Print()
	{
		cout << _year << " " << _month << " " << _day << endl;
	}
private:
	int _year;
	int _month;
	int _day;
};
int main()
{
	Date d1(2024, 5, 1);
	d1.Print();
	return 0;
}

运行结果:

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

	Date(int year, int month, int day)
	{
		_year = year;
		_month = month;
		_day = day;
	}
	//半缺省
	Date(int day)
	{
		_year = 2024;
		_month = 5;
		_day = day;
	}
	//全缺省
	Date()
	{
		_year = 2024;
		_month = 5;
		_day = 1;
	}

1.3 默认构造函数

例如:

class Date
{
public:
	void Print()
	{
		cout << _year << " " << _month << " " << _day << endl;
	}
private:
	int _year;
	int _month;
	int _day;
};
int main()
{
	Date d1;
	d1.Print();

	return 0;
}

在这个程序中,我们并没有写构造函数,这是它就会调用默认构造函数并初始化一个随机值

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

其实默认构造函数的用处不在于这里,当我们的类成员中都是基本类型的时候,默认成员函数是没什么用,但当我们的类成员中有自定义类型时,默认成员函数就十分关键了

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

至于原因如何,我们在下面讲

04-30 08:08