C++里的返回void类型的函数与无返回值的函数的区别是什么?

《C++编程思想》的一句话:“构造函数与析构函数是两个非常特殊的函数:他们没有返回值。这与返回值为void的函数显然不同。后者虽然也不返回任何值,但还是可以让他做点别的事... 《C++编程思想》的一句话:“ 构造函数与析构函数是两个非常特殊的函数:他们没有返回值。这与返回值为void的函数显然不同。后者虽然也不返回任何值,但还是可以让他做点别的事情." 展开
 我来答
GiraKoo
2015-06-06 · 还没有任何签名哦
GiraKoo
采纳数:3949 获赞数:11109

向TA提问 私信TA
展开全部
构造函数和析构函数是用于创建和摧毁对象,所以不需要返回值。下面是两种函数的区别。

【普通函数】
通俗的讲,就是通过传入“数据”(某些情况不需要输入),计算之后,“输出”需要的值,或者执行所需的操作。所以普通函数的重点在于“输出”。如果该函数的确不需要“输出”数据,那么通过void来进行标记,就可以和其他函数进行区分。

【构造函数和析构函数】
主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值。重点在于“创建”和“摧毁”,而不是“输出”。所以不需要返回值,也就不需要通过void进行标记。
百度网友f170b97
2013-04-10
知道答主
回答量:28
采纳率:0%
帮助的人:17.4万
展开全部
2011-10-31 12:03没有返回类型和设返回值类型为void的区别
规定,如果你现在自己做一个新语言的编译器,也可以规定构造函数必须加上void,或者一个特殊的返回值。 那么为什么构造函数没有返回值呢,主要是为了区分构造函数和其它方法。其实,你可以尝试在你的构造函数前加上void,你会发现编译可以通过,但是编译器把它认为是方法,而不是构造函数,当然也无法在new的时候自动调用。 下面有一个例子,你可以测试看看:public class MyPrint{ public void MyPrint() { //这是一个方法,如果去掉void就是构造函数 System.out.println("method"); } public test() { //提示错误,方法声明错误,必须加上返回值 } public static void main(String[] args) { MyPrint mp=new MyPrint(); //构造函数自动调用 mp.MyPrint(); //方法必须显示调用 } } 本文来自知道问答http://zhidao.baidu.com/question/135828798.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhuhuaizhong
2013-04-10 · TA获得超过7276个赞
知道大有可为答主
回答量:3978
采纳率:63%
帮助的人:3549万
展开全部
void 代表空类型,可以认为不返回东西
无返回值,即什么都不写,默认返回int数据类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunny秋千坠
2013-04-10 · TA获得超过766个赞
知道小有建树答主
回答量:388
采纳率:77%
帮助的人:232万
展开全部
void类型就是无返回值类型的,如果你缺省,在函数名前面不加void的话,系统默认的是int类型的,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kingfeng588
2013-04-10 · TA获得超过2494个赞
知道大有可为答主
回答量:1475
采纳率:50%
帮助的人:1791万
展开全部
没有区别。
除非void *,这个是指针类型,返回必须是指针或地址。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式