• 第5章 用函数封装程序功能


    第5章 用函数封装程序功能


    5.1 函数就是一个大"箱子"
    5.1.1 函数的声明和定义

    //p112 很多OJ网站上的第一题
    #include <iostream>
    using namespace std;
    int main()
    {
      int a,b;
      cin>>a>>b;
      cout<<a+b<<endl;
      return 0;
    }
    //写成函数形式见下面:
    #include <iostream>
    using namespace std;
    int add(int a,int b); //函数声明之后,具体函数定义可以在后面
    int main()
    {
      int a,b;
      cin>>a>>b;
      cout<<add(a,b)<<endl; //调用函数之后,马上输出
      return 0;
    }
    int add(int a,int b)
    {
      return(a+b);
    }

    5.1.2 函数调用机制

    //p116 函数的嵌套调用
    #include <iostream>
    using namespace std;
    int sqr(int n)
    {
      return(n*n);
    }
    int sqrsum(int a,int b)
    {
      return(sqr(a)+sqr(b));
    }
    int main()
    {
      int a,b;
      cin>>a>>b;
      cout<<sqrsum(a,b)<<endl; //a^2+b^2
      return 0;
    }

    5.1.3 函数的声明与函数调用
    5.1.4 函数参数的传递

    //p119
    #include <iostream>
    using namespace std;
    int add(int &i,int &j) //C++中的传址!
    {
      int a,b;
      a=i; b=j;
      i=i*2; j=j+10; //改变了i,j
      return(a+b);
    }
    
    int main()
    {
      int i,j;
      cin>>i>>j;
      cout<<"i+j="<<add(i,j)<<endl;
      cout<<"i="<<i<<"  "<<"j="<<j<<endl;
      return 0;
    }

    5.1.5 函数的返回值

    //p121
    #include <iostream>
    using namespace std;
    int sum(int *a,int n) //可以这样以数组为参数
    {
      int i,s=0;
      for(i=0;i<n;++i)
        s += a[i];
      return s;
    }
    
    int main()
    {
      int i,a[10];
      for(i=0;i<10;++i)
      {
        a[i]=rand()%20;
        cout<<a[i]<<" ";
      }
      cout<<endl;
      cout<<sum(a,10)<<endl;
      return 0;
    }

    比赛与做工程不同,当传递参数不确定时,可以以全局变量的方式进入。

    5.2 内联函数
    5.2.1 用体积换速度的内联函数

    //p124
    #include <iostream>
    using namespace std;
    
    //加上inline,就成为了内联函数
    inline bool iseven(int i) 
    {
      return( 0==i%2 );
    }
    
    int main()
    {
      int i,sum=0;
      for(i=0;i<=100;++i)
        if(iseven(i)) ++sum;
      cout<<sum<<endl;
      return 0;
    }

    5.2.2 内联函数的使用规则
    5.3 重载函数
    5.3.1 重载函数的声明

    //p126 根据参数类型不同,调用同名不同函数
    #include <iostream>
    using namespace std;
    
    int add(int a,int b)
    {
      return a+b;
    }
    double add(double a,double b)
    {
      return a+b;
    }
    
    int main()
    {
      cout<<add(1,2)<<endl;
      //cout<<add(1,2.2)<<endl; //编译会通不过
      cout<<add(1.2,2.3)<<endl;
      return 0;
    }

    5.3.2 重载函数的解析
    5.4 函数设计的基本规则
    5.4.1 函数声明的设计规则
    5.4.2 函数体的设计规则

    TOP


     

  • 相关阅读:
    《ASP.NET MVC 5 高级编程(第5版)》
    《JavaScript基础教程》
    Linux命令行
    jQuery UI
    第一章-算法概述
    树的基本概念及算法
    3个列表标签 uloldl
    body 部分的标签
    head 里主要的标签:meta和link 标签
    html+server+页面访问
  • 原文地址:https://www.cnblogs.com/xin-le/p/4077687.html
Copyright © 2020-2023  润新知