如果类没有任何构造函数和拷贝构造函数,那么编译器会默认生成一个默认构造函数.
但是如果你的类已经有了自己的带参数的构造函数,或者拷贝构造函数,那么不会帮助你生产默认构造函数.
例如
C/C++ code
class abc
{
...
abc(int i)
...
}
int main
{
abc a1; // 错误,系统没有默认构造函数
abc a2(2); // 可以正常使用
return 0;
}
最不可行的类是,只有拷贝构造函数,却没有定义任何构造函数的情况,这样的类虽然可以编译通过,却根本无法正常进行对象的事例化.
你的程序,自己不定义新类,可以不写构造函数。
继承老类的类,也可以不写。
默认不做事的 构造函数, 就是 与类 同名,加 括号,无参数的 函数。可以不写(也就是可以没有啦)。
自己定义的类,如果没写构造函数,那么编译器会自动为其创建一个默认无参的空构造函数.函数名与类名相同.
构造函数有两个作用:类的实例化(创建对象)和对象的初始化
如果未定义构造函数,系统会在创建对象时自动调用构造函数,但初始化的功能只能通过用户调用构造函数实现.
不管怎么养,最好还是写个默认构造函数。
很多情况下可以直接调用它来初始化对象。
有益无害吧。