问个菜鸟C++问题:请问下面两个函数有什么区别?

[复制链接]
查看11 | 回复4 | 2010-8-16 16:23:25 | 显示全部楼层 |阅读模式
#include
int stonetolb(int);
int main()
{
using namespace std;
cout>stone;
int pounds=stonetolb(stone);
cout>stone;
int pounds=14*stone;
cout<<stone<<" stone=";
cout<<pounds<<" pounds"<<endl;
return 0;
}
非常感谢两位哥哥的帮助,如果在实际运行工作中哪一个会比较好呢?

回复

使用道具 举报

千问 | 2010-8-16 16:23:25 | 显示全部楼层
两个作用是一样的。但第一个比第二个要好。因为:第一个程序中,stonetolb被分离出来,作为一个独立的业务逻辑函数存在,为其他应用服务,main作为stonetolb的调用者,它只关心stonetolb的输入和输出,不关心stonetolb的内部实现。从分层和模块化角度来说,这样处理比较好。第二个程序,一般来说就是初学者写出来的程序。
回复

使用道具 举报

千问 | 2010-8-16 16:23:25 | 显示全部楼层
第一个在main中调用了int stonetolb(int)函数,在第二行声明的,功能是将传入的int乘14返回;第二个直接将此功能写在了main函数中了:int pounds=14*stone;
回复

使用道具 举报

千问 | 2010-8-16 16:23:25 | 显示全部楼层
这么短的程序用第二个吧
回复

使用道具 举报

千问 | 2010-8-16 16:23:25 | 显示全部楼层
一个POUND是通过函数取值,一个是直接在MAIN里计算取得,运行效率来看,第二个比较快。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行