一.类的6个默认函数
二.构造函数
2.1概念
首先我们看一下c语言对结构体的初始化
struct PersonInfo
{
int index;
char name(30);
short age;
}
void InitStruct()
{
PersonInfo p={
1,"mr",23};
}
但是在C++中类不能像结构体一样初始化,所以其初始化方式如下
class Person{
public:
Person();
int m_index;
int getindex();
}
Person::Person()
{
m_index=10;
}
所以这里我们引入构造函数的概念:构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员
都有 一个合适的初始值,并且在对象的生命周期内只调用一次。
2.2特性
构造函数是特殊的成员函数,需要注意的是,构造函数的虽然名称叫构造,但是需要注意的是构造函数的主要任务并不是开空间创建对象,而是初始化对象。构造函数仅仅是初始化对象,并不开辟空间。
其特征如下:
- 函数名与类名相同。
- 无返回值。
- 对象实例化时编译器自动调用对应的构造函数。
- 构造函数可以重载。
class Date
{
public :
Date()
{
}
//无参构造函数
public:
Date(int year,int month ,int day)
{
m_year = year;
m_month = month;
m_day = day;
}
//有参构造函数
private:
int m_year