类与对象(上):C++初阶学习第三弹——类与对象(上)——初始类与对象-CSDN博客
前言:
上一章内容:
目录
一、默认成员函数是什么?
在一个类中,我们一般称呼里面的变量等统统为成员,自然函数称为成员函数,变量称为成员变量
class A
{
public:
int Add(int x,int y) //成员函数
{
return x + y;
}
private:
int a; //成员变量
};
二、默认成员函数有哪些?
通过上面我们应该明白,默认成员函数一定是所有类中都需要的,那主要有哪些呢?
主要有以下六种:
三、六种默认成员函数
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;
}
运行结果:
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;
}
在这个程序中,我们并没有写构造函数,这是它就会调用默认构造函数并初始化一个随机值
其实默认构造函数的用处不在于这里,当我们的类成员中都是基本类型的时候,默认成员函数是没什么用,但当我们的类成员中有自定义类型时,默认成员函数就十分关键了
至于原因如何,我们在下面讲