C++入门到理解阶段二基础篇(7)——C++函数

2019-11-21 16:01:08来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

C++入门到理解阶段二基础篇(7)——C++函数

目录

 

函数作用

函数定义

函数声明

函数调用

函数值传递

函数常见的样式

函数的分文件书写


函数作用

将经常使用的代码封装起来,减少重复代码

函数定义

C++ 中的函数定义的一般形式如下:


return_type function_name( parameter list )
{
   body of the function
}

在 C++ 中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:

  • 返回类型:一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void
  • 函数名称:这是函数的实际名称。函数名和参数列表一起构成了函数签名。
  • 参数:参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。
  • 函数主体:函数主体包含一组定义函数执行任务的语句。
//求两数之和的函数
int sum(int a, int b) {
	return a + b;
}

函数声明

函数声明会告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义。函数的声明可以有多个但是声明只有一个,针对上面定义的函数 sum(),以下是函数声明:int sum(int num1, int num2);

在函数声明中,参数的名称并不重要,只有参数的类型是必需的,因此下面也是有效的声明:int sum(int, int);

函数调用

#include <iostream>
using namespace std;
//函数声明
int sum(int m1,int m2);
int main() {
	int ret = sum(1, 2);
	cout << ret;
}
//求两数之和的函数
int sum(int a, int b) {
	return a + b;
}

函数值传递

#include <iostream>
using namespace std;
//函数声明
void swap(int m1,int m2);
int main() {
	int a = 1;
	int b = 2;
	//当做函数的值传递时候,函数的形参发生变化不会影响实参
	swap(a, b);
	cout << a;//1
	cout << b;//2
}
//交换
void swap(int a, int b) {
	int temp = b;
	b = a;
	a = temp;
	cout << a;//2
	cout << b;//1
}

函数常见的样式

无参无返

无参有返

有参无返

有参有返

函数的分文件书写

为了代码简介复用,有时将函数份文件书写,项目结构

?

第一步创建后缀名是.h的头文件并声明函数

#include <iostream>
using namespace std;
//函数声明
void swap(int m1, int m2);

第二步创建后缀名是.cpp的源文件,并定义函数

#include <iostream>
#include "sum.h"//要引用头文件
using namespace std;
//交换
void swap(int a, int b) {
	int temp = b;
	b = a;
	a = temp;
	cout << a;//2
	cout << b;//1
}

第三步使用

#include <iostream>
#include "sum.h"//应用swap函数所在的头文件
using namespace std;
//函数声明
void swap(int m1,int m2);
int main() {
	int a = 1;
	int b = 2;
	swap(a, b);
	cout << a;//1
	cout << b;//2
}

?

                        扫描 关注公众号 java一号。更重要的是小猿愿成为你编程路上的一个朋友!

文章首发地址: www.javayihao.top

首发公众号: java一号


原文链接:https://www.cnblogs.com/javayihao/p/11906776.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:C++入门到理解阶段二基础篇(6)——C++数组

下一篇:架构设计:业务逻辑层简述