Linux C++ 函数 基本概念(概览)
发布时间:2020-12-14 01:09:11 所属栏目:Linux 来源:网络整理
导读:个人博客首页(点击查看详情) -- https://blog.51cto.com/11495268 ???? 1、简介 ????C++语言 中任何事情都需要用到函数,本文 介绍 函数相关的基本概念,了解 这有样的 存在即可 -- 函数定义、函数调用、函数重载、函数模板(至于 C++中 特有的 类函数 本
个人博客首页(点击查看详情) -- https://blog.51cto.com/11495268
???? 1、简介????C++语言 中任何事情都需要用到函数,本文 介绍 函数相关的基本概念,了解 这有样的 存在即可 -- 函数定义、函数调用、函数重载、函数模板(至于 C++中 特有的 类函数 本文暂不介绍) 2、函数定义// 定义函数时 函数名后面 括号中 参数 为 形参 返回值类型 函数名([形参]) { 函数体 } ???? 3、函数调用// 函数 调用时 函数名后面 括号中 参数 为 实参 #include <iostream> 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 <iostream> 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 <iostream> using namespace std; // class 关键字也可以用 typename 关键字替换 template <class c2> 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,&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; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |