1、构造函数只会被调用一次;
2、当设置对象是没有显式地调用重载的构造函数,那么类的默认构造函数(无形参)就会被调用(如果在类中没有显式地声明,则编译器会自动生成一个)
例如:
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
class Date {
public:
Date()
{
year=5;
}
Date(int n)
{
month=n;
}
int getyear()
{
return year;
}
private:
int year,month;
};
int main()
{
Date date1(2);
Date date2(2);
Date date3;
cout<<"year of date1 "<<date1.getyear()<<endl;
cout<<"year of date2 "<<date2.getyear()<<endl;
cout<<"year of date3 "<<date3.getyear()<<endl;
}
//输出:不定的year,此处为0,1
//说明:构造函数只调用一次,默认构造函数在没有显示地调用其它构造函数的时候才会被调用