编程语言
首页 > 编程语言> > c++ 函数章节总结

c++ 函数章节总结

作者:互联网

一、为什么要使用函数?

1. 简化代码,增强程序的可读性。

把一些计算或操作编成通用的函数,以供随时调用,从而避免了代码的重复冗长;简化代码量,对各个部分进行封装,使问题变得简单而且直观,提高了程序的易读性。

2.提升程序的可维护性。

如果我们把主程序拆分成许多个步骤,为每一个功能编写一个函数,那么根据函数的函数名每个函数的功能就非常清晰了。如果我们要修改某一个函数的功能,其他的函数也丝毫不会受到影响。

3.提高团队的开发效率。

设计一个规模很大的程序,它有几千项功能,若把他们都放在一个主函数里,就只能由一个人来编写。但如果我们把这几千项功能分拆为一些函数,分给几百个人去编写,最后用主函数把这些完成的函数组织一下,一个程序就可以很快完工。

4.降低程序执行效率。【缺点】

在程序中运用函数,就需要传递参数,开辟缓存、堆栈等,相比较而言,这个歌过程会耗一些多余的效率。

二、为什么要用函数重载?

【定义】两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据形参和实参的类型和个数的最佳匹配,自动确定调用哪一个函数,称作函数的重载。

【结论】

#include
using namespace std; 
int F(int n){ 
    if(n==0)//递归边界 
        return 1; 
    return n*F(n-1);//递归公式
} 

int main(){ 
    int n; 
    cin >> n; 
    cout << F(n) << endl;
    return 0;
}

【例2】汉诺塔

【分析】

1)n == 1
         第1次  1号盘  A---->C       sum = 1 次
2) n == 2
         第1次  1号盘  A---->B
         第2次  2号盘  A---->C
         第3次  1号盘  B---->C        sum = 3 次
3)n == 3
            第1次  1号盘  A---->C
            第2次  2号盘  A---->B
            第3次  1号盘  C---->B
            第4次  3号盘  A---->C
            第5次  1号盘  B---->A
            第6次  2号盘  B---->C
            第7次  1号盘  A---->C        sum = 7 次

【代码】

#include<iostream>
using namespace std;

void move(char src, char dest) {   //移动函数
    cout << src << "-->" << dest << endl;
}

void hanoi(int n, char src, char mid, char dest) {
    if (n == 1) move(src, dest);
    else {
        hanoi(n - 1, src, dest, mid);  //把上面的n-1个移动到备用柱子
        move(src, dest);    //把第n个移动到目标柱子
        hanoi(n - 1, mid, src, dest);   //把备用柱子上的n-1个移动到目标柱子
    }
}

int main() {
    int m;
    cout << "enter the num:";  //输入环个数
    cin >> m;
    hanoi(m, 'A', 'B', 'C');
    return 0; 
}

标签:章节,函数,形参,int,cout,c++,传递,号盘
来源: https://www.cnblogs.com/TSmeredithH/p/11529942.html