C++中可不可以没有构造函数?
答案:6 悬赏:10 手机版
解决时间 2021-03-28 17:35
- 提问者网友:一抹荒凉废墟
- 2021-03-28 09:03
C++中可不可以没有构造函数?
最佳答案
- 五星知识达人网友:拾荒鲤
- 2021-03-28 09:22
如果类没有任何构造函数和拷贝构造函数,那么编译器会默认生成一个默认构造函数.
但是如果你的类已经有了自己的带参数的构造函数,或者拷贝构造函数,那么不会帮助你生产默认构造函数.
例如
C/C++ code
class abc
{
...
abc(int i)
...
}
int main
{
abc a1; // 错误,系统没有默认构造函数
abc a2(2); // 可以正常使用
return 0;
}
最不可行的类是,只有拷贝构造函数,却没有定义任何构造函数的情况,这样的类虽然可以编译通过,却根本无法正常进行对象的事例化.
但是如果你的类已经有了自己的带参数的构造函数,或者拷贝构造函数,那么不会帮助你生产默认构造函数.
例如
C/C++ code
class abc
{
...
abc(int i)
...
}
int main
{
abc a1; // 错误,系统没有默认构造函数
abc a2(2); // 可以正常使用
return 0;
}
最不可行的类是,只有拷贝构造函数,却没有定义任何构造函数的情况,这样的类虽然可以编译通过,却根本无法正常进行对象的事例化.
全部回答
- 1楼网友:像个废品
- 2021-03-28 15:03
你的程序,自己不定义新类,可以不写构造函数。
继承老类的类,也可以不写。
默认不做事的 构造函数, 就是 与类 同名,加 括号,无参数的 函数。可以不写(也就是可以没有啦)。
继承老类的类,也可以不写。
默认不做事的 构造函数, 就是 与类 同名,加 括号,无参数的 函数。可以不写(也就是可以没有啦)。
- 2楼网友:洎扰庸人
- 2021-03-28 14:56
不写的话,也会调用默认的构造函数
- 3楼网友:詩光轨車
- 2021-03-28 13:33
不管怎么养,最好还是写个默认构造函数。
很多情况下可以直接调用它来初始化对象。
有益无害吧。
很多情况下可以直接调用它来初始化对象。
有益无害吧。
- 4楼网友:傲气稳了全场
- 2021-03-28 12:30
自己定义的类,如果没写构造函数,那么编译器会自动为其创建一个默认无参的空构造函数.函数名与类名相同.
- 5楼网友:千夜
- 2021-03-28 11:00
构造函数有两个作用:类的实例化(创建对象)和对象的初始化
如果未定义构造函数,系统会在创建对象时自动调用构造函数,但初始化的功能只能通过用户调用构造函数实现.
如果未定义构造函数,系统会在创建对象时自动调用构造函数,但初始化的功能只能通过用户调用构造函数实现.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯