函数封装与调用

函数【重点】
1.函数概述

代码中存在对于功能模块重复使用的情况,如果按照基本的cv方式,会导致代码出现一下问题

  • 代码冗余
  • 代码维护性极差!
  • 代码阅读性极差!
2. main 函数推演函数组成
int main (int argc , char * argv [])
{
    
    // 函数体
}
/*
函数返回值数据类型 函数值(函数形式参数列表)
{
 函数体
}
returnType functionName(parameterTppes)
{
    function Body
}
*/
3. 函数分类
3.1 概述
  • 有参数无返回值函数【重点】
  • 无参数有返回值函数
  • 有参数无返回值函数
  • 无参数无返回值函数
3.2.2 函数分析
返回值类型:
   因为是两个int 类型的数据相加, 最终结构也是int 类型,返回值数据类型为int类型!
   函数名:
   【见名知意,动宾结构,约定俗成,小驼峰命名法】
   getSum
形式参数列表:
   提供给函数两个int 类型数据 需要原话!
   函数执行所需的参数为两个int 类型数据,格式要求
      1.存在小括号!
      2. 一个参数对应的一个定义要求
      (int n1 , int n2 )
      告诉调用者,当前函数执行需要两个int类型参数 
3.2.3 函数声明
int getSum(int n1 , int n2);
3.2.4文档注释
/**
计算用户提供的两个 int 类型数据之和, 通过返回值返回。

@param n1 要求用户提供int 数据类型
@param n2 要求用户提供 int类型数据
@return 返回数据是 int ;类型数据为用户提供参数数据之和
*/
int getSum(int n1 , int n2);
3.2.5 函数实现和调用
#include <iostream>

using namespace std;
//当前情况下函数声明在mian函数之前
/**
计算用户提供的两个int 类型数据之和,通过返回值返回

@param n1 要求用户提供 int 数据类型
@param n2 要求用户提供 int 数据类型
@return 返回数据 int 类型,为用户提供数据类型之和
*/
int getSum(int n1 , int n2 );

int main (int argc , char * argv [])
{
    int ret = 0;
    
    cout << "函数调用之前:" << ret << endl;
    
    ret = getSum(50,20)
    cout << "函数调用之后:" << ret << endl;
}
int getSum(int n1 ,int n2)
{
    /*
    return 关键字
    1.将return 之后的数据返回到函数调用位置
    2.函数运行到 return, 函数运行结束!
    */
    return n1 + n2;
}
3.3有参数有返回值执行流程
3.3.1 需求

完成一个函数,在控制台展示用户提供的int类型数据内容。

3.3.2 函数分析
返回值类型:
    当前函数仅将用户提供的数据进行控制台展示,没有数据返回!
    当前函数没有返回值,在c/c++中一个函数没有返回值,使用void 关键字站位告知。
    
    函数名:
       【见名知意,动宾结构,小驼峰命名法】
       printIntValue
    形式参数列表:
        当前函数处理的数据是由用户提供的int 类型数据,参数为 int 类型
       (int n)
3.3.3 函数声明
void printIntValue(int n );
3.3.4 文档注释
/**
 在控制台展示用户提供当前函数的 int 类型数据
 
 @param n 要求用户提供的 int 类型数据
*/
void printIntValue( int n);
3.3.5 函数实现和调用
#include <iostream>

using namespace std;
/**
调用函数,返回一个整数5
@return 当前函数返回值类型数据为 int 类型,返回整数 5
*/
int giveMeFive();

void main(int argc , char argv [])
{
    int ret = 0 ;
    // 函数调用,使用ret 变量接收函数的返回值数据内容
    // [重点] 无论函数是否有参数,小括号必须存在!!! 函数的标记!!!
    cout << "Before Funation call ,ret:" << ret << endl ;
    
} 
int giveMeFive()
{
    //函数实现
    return 5 ;
}

3.4有参数无返回值函数执行流程
3.4.1 需求

完成一个函数,在控制台展示用户提供的int 类型数据内容。

3.4.2 函数分析
返回值类型:
   当前函仅将用户提供的数据进行数据台展示,没有数据返回!
   当前函数没有返回值,在C/C++ 中一个函数没有返回值,使用 void 关键字站位告知。
函数名:
    【见名知意, 动宾结构,小驼峰命名法】
     printIntValue
形式参数列表:
    当前函数处理的数据是由用户提供的 int 类型参数, 参数为int 类型(int n)
3.4.3 函数声明
void printIntValue(int n);
3.4.4 文档注释
/**
在控制台展示用户提供给当前函数的 int 类型数据

@param n 要求用户提供的int数据类型
*/
void printIntValue(int n );
3.4.5 函数实现和调用
#include <iostream>

using namespace std;
/**
  在控制台展示用户提供当前数据的int 类型数据
  
  @param n 要求用户提供的int 类型数据
*/
void printIntValue(int n);

int main (int argc , char * argv [])
{
    printIntVlaue(10);
    
    int n =20;
    printIntValue(n);
}
viod printIntValue(int n )
{
    cout << "用户提供的int类型数据" <<  n << endl;
}
3.5 无参数无返回值函数
3.5.1需要

调用函数,在控制展示 hello ,world

3.5.2函数分析
返回值类型:
    当前函数没有数据返回,使用void占位
函数名:
    【见名知意,动宾结构,小驼峰命名法】
    wantmyphone
形式参数列表:
    当前函数没有参数需要,直接()
3.5.3 函数声明
void  wantmyphone();
3.5.4 文档注释
viod  wantmyphone();
3.5.5 函数实现和调用
#include <iostream>

using namespace std;

/**
 调用函数在控制台展示 wantmyphone
 */
void  wantmyphone();

int main(int argc, char * argv[])
{
	 wantmyphone();
}

void  wantmyphone()
{
	cout << "" << endl;
}
  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值