linux 模板函数,Linux C++ 函数 基本概念(概览)

1、简介

C++语言 中任何事情都需要用到函数,本文 介绍 函数相关的基本概念,了解 这有样的 存在即可 -- 函数定义、函数调用、函数重载、函数模板(至于 C++中 特有的 类函数 本文暂不介绍)

2、函数定义

// 定义函数时 函数名后面 括号中 参数 为 形参

返回值类型 函数名([形参])

{

函数体

}

3、函数调用

// 函数 调用时 函数名后面 括号中 参数 为 实参

#include

using namespace std;

void exchange_num(int *first_num, int *sec_num)

{

int exchange_tmp = 0;

exchange_tmp = *first_num;

*first_num = *sec_num;

*sec_num = exchange_tmp;

}

int main(void)

{

int first_num = 1;

int sec_num= 10;

// 调用函数

exchange_num(&first_num, &sec_num);

cout << "first_num:" << first_num << endl;

cout << "sec_num:" << sec_num << endl;

return 0;

}

4、函数重载

C++ 允许同一个 函数名 定义 多个 函数,重载函数 必须 参数个数 或者 参数类型 不同

// 函数 调用时 函数名后面 括号中 参数 为 实参

#include

using namespace std;

void exchange_num(int *first_num, int *sec_num)

{

int exchange_tmp = 0;

exchange_tmp = *first_num;

*first_num = *sec_num;

*sec_num = exchange_tmp;

}

void exchange_num(double *first_num, double *sec_num)

{

double exchange_tmp = 0;

exchange_tmp = *first_num;

*first_num = *sec_num;

*sec_num = exchange_tmp;

}

int main(void)

{

int ifirst_num = 1;

int isec_num= 10;

double dfirst_num = 1.1;

double dsec_num = 10.01;

// 调用函数

exchange_num(&ifirst_num, &isec_num);

exchange_num(&dfirst_num, &dsec_num);

cout << "ifirst_num:" << ifirst_num << endl;

cout << "isec_num:" << isec_num << endl;

cout << "dfirst_num:" << dfirst_num << "\ndsec_num:" << dsec_num << endl;

return 0;

}

5、函数模板

函数重载 时 可以发现,有些 重载函数 只是参数类型不同罢了,在 C++语言中,数据类型 较多,如此 岂不是 每个类型 都需要 写个 重载函数(理论上 这是 可行的),但是 造成大量的 重复代码,函数模板 正是 解决 这个问题;建议 通用函数,在函数调用时,系统会根据 实参的类型 来取代 模板中的 虚拟类型,从而实现 不同函数的功能

// 函数 调用时 函数名后面 括号中 参数 为 实参

// 模板 函数调用 不支持 隐式类型转换

#include

using namespace std;

// class 关键字也可以用 typename 关键字替换

template

void exchange_num(c2 *first_num, c2 *sec_num)

{

c2 exchange_tmp = 0;

exchange_tmp = *first_num;

*first_num = *sec_num;

*sec_num = exchange_tmp;

}

int main(void)

{

int ifirst_num = 1;

int isec_num= 10;

double dfirst_num = 1.1;

double dsec_num = 10.01;

// 调用函数

exchange_num(&ifirst_num, &isec_num);

exchange_num(&dfirst_num, &dsec_num);

cout << "ifirst_num:" << ifirst_num << endl;

cout << "isec_num:" << isec_num << endl;

cout << "dfirst_num:" << dfirst_num << "\ndsec_num:" << dsec_num << endl;

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值