概述:在C++中,当类创建对象时,会自动调用构造器,来完成对类对象的初始化。特点如下
- 1 .在对象创建时自动调用,完成与初始化相关的工作。
- 2 .无返回值,与类名相同。
- 3 .可以重载,可用默认参数(不可同时使用)。
- 4 .若未提供任何构造器,默认存在一个无参的空构造器。
若提供,默认构造器则不再存在。
- 5 . 无论是重载还是默认参数,都要包含无参情况(标配);
为了实现对象的无参创建
class A
{
A()//默认构造器,无返回值与类名相同,创建对象自动调用
{
}
}
1.通过重载,实现类对象的初始化
例1.代码如下
#include<iostream>
using namespace std;
class A
{
private:
int number;
public: //重载
A() //无参构造器
{
number=1;
}
A(int tem) //有参构造器
{
number =tem;
}
int Getnumber()
{
return number;
}
};
int main()
{
A a; //无参构造器的调用,实现无参构造对象
cout<<a.Getnumber()<<endl;
A b(100); //有参构造器的调用
cout<<b.Getnumber()<<endl;
return 0;
}
2、通过默认参数,实现类对象的初始化
#include<iostream>
using namespace std;
class A
{
private:
int number;
public:
A(int tem=1) //使用默认参数初始化对象
:number(tem)//参数列表
{
}
int Getnumber()
{
return number;
}
};
int main()
{
A a; //实现了无参构造
cout<<a.Getnumber()<<endl;
A b(100); //有参构造器
cout<<b.Getnumber()<<endl;
return 0;
}
相比较而言,采用默认参数的方式实现类的对象的初始化比较好。