C++中为何需要函数

C++中为何需要函数

函数的概念大家都不陌生,可以说C++程序都是由函数构成的,首先是主函数,然后主函数中调用处理问题所需的另一些函数,而这些函数中又可以调用其他函数,在递归函数中函数甚至可以调用自己。函数间的这种关系和榫卯结构很类似:榫卯结构通过榫头和卯眼来相互固定,而函数间通过参数与返回值相互调用。

假设要编写一个应用程序,让用户输入圆的半径并计算其周长和面积。为此,一种方式是将所有逻辑都放在 main() 中。另一种方式是将该应用程序划分成逻辑块,具体地说是两个逻辑块,它们分别根据半径计算面积和周长,如下面的示例程序所示:

#include 
using namespace std;

const double Pi = 3.14159265;

// Function Declarations (Prototypes)
double Area(double radius);
double Circumference(double radius);

int main()
{
    cout << "Enter radius: ";
    double radius = 0;
    cin >> radius;

    // Call function "Area" 
    cout << "Area is: " << Area(radius) << endl;

    // Call function "Circumference"
    cout << "Circumference is: " << Circumference(radius) << endl;

    return 0;
}

// Function definitions (implementations)
double Area(double radius)
{
    return Pi * radius * radius;
}

double Circumference(double radius)
{
    return 2 * Pi * radius;
}

输出:

Enter radius: 6.5
Area is: 132.732
Circumference is: 40.8407

分析:

这里的 main()(它本身也是一个函数)相当简洁,它将工作委托给 Area()Circumference() 等函数去完成,并在第 16 和 19 行分别调用它们。
该程序演示了使用函数进行编程涉及的如下内容:
• 第 6 和 7 行声明了函数原型,这样在 main() 中使用 Area 和 Circumference 时,编译器知道它们是什么;
• 在 main() 中,第 16 和 19 行调用了函数 Area()Circumference()
• 第 25~28 行定义了函数 Area(),而第 30~33 行定义了函数 Circumference()
您需要知道的是,通过将计算面积和周长的代码放到不同的函数中,有助于提高可重用性,因为可根据需要重复地调用这些函数。

该文章会更新,欢迎大家批评指正。

推荐一个零声学院的C++服务器开发课程,个人觉得老师讲得不错,
分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
TCP/IP,协程,DPDK等技术内容
点击立即学习:C/C++后台高级服务器课程

你可能感兴趣的:(C++编程基础,c++)