C++中可不可以没有构造函数?

我不写的话,有一些情况编译器提供,那其他情况呢?可不可以没有呢?... 我不写的话,有一些情况编译器提供,那其他情况呢?可不可以没有呢? 展开
 我来答
以画屏屏8748
推荐于2016-04-16 · TA获得超过7191个赞
知道大有可为答主
回答量:2581
采纳率:0%
帮助的人:3303万
展开全部
如果类没有任何构造函数和拷贝构造函数,那么编译器会默认生成一个默认构造函数.

但是如果你的类已经有了自己的带参数的构造函数,或者拷贝构造函数,那么不会帮助你生产默认构造函数.
例如

C/C++ code
class abc
{
...
abc(int i)
...
}

int main
{
abc a1; // 错误,系统没有默认构造函数
abc a2(2); // 可以正常使用
return 0;
}

最不可行的类是,只有拷贝构造函数,却没有定义任何构造函数的情况,这样的类虽然可以编译通过,却根本无法正常进行对象的事例化.
L_o_o_n_i_e
2008-03-05 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5159万
展开全部
你的程序,自己不定义新类,可以不写构造函数。
继承老类的类,也可以不写。

默认不做事的 构造函数, 就是 与类 同名,加 括号,无参数的 函数。可以不写(也就是可以没有啦)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友84cfd92
2008-03-05
知道答主
回答量:32
采纳率:0%
帮助的人:0
展开全部
自己定义的类,如果没写构造函数,那么编译器会自动为其创建一个默认无参的空构造函数.函数名与类名相同.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
debudaode
2008-03-05 · TA获得超过102个赞
知道答主
回答量:45
采纳率:0%
帮助的人:67.6万
展开全部
构造函数有两个作用:类的实例化(创建对象)和对象的初始化
如果未定义构造函数,系统会在创建对象时自动调用构造函数,但初始化的功能只能通过用户调用构造函数实现.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
12f3210
2008-03-05 · TA获得超过299个赞
知道小有建树答主
回答量:443
采纳率:0%
帮助的人:422万
展开全部
不管怎么养,最好还是写个默认构造函数。
很多情况下可以直接调用它来初始化对象。

有益无害吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式