CPP入门07:函数

目录

一、概述

二、定义

三、函数的值传递

 四、函数声明

五、函数分文件编写


一、概述

        作用:将一段经常使用的代码封装,减少代码重复。

二、定义

组成部分:

  1. 返回值类型
  2. 函数名
  3. 参数
  4. 函数体
  5. return表达式

        参数和返回值可以没有,无返回值的返回值类型为void。

函数的调用:

函数名(参数);

语法:

返回值数据类型 函数名(参数) {

	函数体;

	return表达式;

}

示例:设计一个相加的函数,并调用函数输出结果。

#include<iostream>
using namespace std;
int add(int num1, int num2) {
	int sum;
	sum = num1 + num2;
	return sum;
}
int main(){
	
	cout << add(1, 2) << endl;//得到结果为3.

	system("pause");
	return 0;
}

三、函数的值传递

  • 值传递:函数调用时实参将数值传给形参。
  • 值传递时,形式参数发生改变不会影响实际参数。

实例:设计互换数字的函数,探究形参和实参是否相互影响。

#include<iostream>
using namespace std;
void swap(int a, int b) {
	//交换前的数据
	cout << "交换前:" << endl;
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;

	int mid;
	mid = a;
	a = b;
	b = mid;

	//交换后的数据
	cout << "交换后:" << endl;
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;

}
int main(){
	
	int A = 1;
	int B = 2;
	swap(A, B);

	cout << "交换后:" << endl;
	cout << "A=" << A << endl;
	cout << "B=" << B << endl;

	system("pause");
	return 0;
}

结果如图:

 四、函数声明

        作用:告知编译器函数的存在,可以将函数主体部分定义在后部分。

        注意:声明可以有多次,但只能定义一次。

        语法:返回值类型 函数名(参数);

以前面的相加函数为实例:

#include<iostream>
using namespace std;

//声明
int add(int num1, int num2);
int add(int num1, int num2);

int main() {

	cout << add(1, 2) << endl;//得到结果为3.

	system("pause");
	return 0;
}
int add(int num1, int num2) {
	int sum;
	sum = num1 + num2;
	return sum;
}

五、函数分文件编写

        作用:让代码的结构更加清晰。

        步骤:

  1. 创建后缀为.h的头文件。
  2. 创建后缀名为.cpp的源文件。
  3. 在头文件中写函数的声明。
  4. 在源文件中写函数的定义

        示例:将上面相加函数使用分文件编写包装并使用。

//声明
int add(int num1, int num2);

在"add.h"头文件中写入声明,当函数定义需要用到其他头文件时需要在该头文件载入,比如<iostream>

#include "add.h"

//函数的定义
int add(int num1, int num2) {
	int sum;
	sum = num1 + num2;
	return sum;
}

在add.cpp源文件中包含入所关联的头文件并写入函数定义。

#include<iostream>
using namespace std;

#include "add.h"


int main() {

	cout << add(1, 2) << endl;//得到结果为3.

	system("pause");
	return 0;
}

在主函数包含入add.h头文件,即可使用add函数。

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值