当前位置: 首页 > news >正文

辽河油田建设有限公司网站班级网站建设模板

辽河油田建设有限公司网站,班级网站建设模板,wordpress第三方登录插件,wordpress 树形菜单插件在C中#xff0c;函数也可以重载。C允许在同一作用域中用同一函数名定义多个函数#xff0c;这些函数的参数个数和参数类型不相同#xff0c;这些同名的函数用来实现不同的功能#xff0c;这就是函数的重载。 函数的重载的函数体是完全相同的#xff0c;只是形参和类型不同…        在C中函数也可以重载。C允许在同一作用域中用同一函数名定义多个函数这些函数的参数个数和参数类型不相同这些同名的函数用来实现不同的功能这就是函数的重载。 函数的重载的函数体是完全相同的只是形参和类型不同也要分别定义。为了解决这个问题C提供了函数模板function template。函数模板实际上是建立一个通用函数类型和形参类型不具体指定用一个虚拟的类型来代表这个通用函数就称为函数模板。 一、函数的重载 求两个数中最大的值分别考虑整数、浮点数、长整数的情况。代码如下 #include iostream using namespace std; // 求最大值 - 整数 int max(int x, int y){int z;if(x y) z x;else z y;return z; } // 求最大值 - 浮点数 float max(float x, float y){float z;if(x y) z x;else z y;return z; } // 求最大值 - 长整数 long max(long x, long y){long z;if(x y) z x;else z y;return z; }int main(){int a, b;float c, d;long e, f;// 输入流cin a b;cin c d;cin e f;// 计算大小int max_int max(a, b);float max_float max(c, d);long max_long max(e, f);//输出内容cout int max value: max_int endl;cout float max value: max_float endl;cout long max value: max_long endl; } 编译结果如下 运行结果如下 二、函数模板 通过上面例子可以看出函数重置的函数体是完全相同的只是形参的类型不同。很多人自然会想到对此是否能简化。刚好C提供了函数模板可以解决这个问题。 2.1 分号错误 在定义函数模板时需要注意的是结束位置是不需要加分号的除非是在模板声明之后紧跟着另一个独立的语句。如果在函数模板声明结束位置添加分号后编译器在处理这额外的分号会报错“[Error] expected unqualified-id before ; token”和“[Error] T does not name a type”。代码如下 template typename T; // 错误写法 将结束位置分号去掉即可代码如下 template typename T // 正确写法 或者后面紧跟独立语句可添加分号代码如下 // 模板声明 template typename T// 定义通用函数用T作虚拟类型名 T get_max(T a, T b){T c;if(a b) c a;else c b;return c; }; 2.2 重载命名错误 可能是自己的代码中定义了额外的 max 重载版本这些版本与标准库中的 max 函数产生了冲突或者其他原因导致继续使用max命名函数时编译时程序报错“[Error] call of overloaded max(int, int) is ambiguous”。 编译器在尝试调用名为 max 的重载函数时发现了多个匹配的重载版本但它无法确定应该使用哪一个因此调用是模棱两可的ambiguous。导致错误代码如下 #include iostream using namespace std; // 模板声明 template typename T// 定义通用函数用T作虚拟类型名 T max(T a, T b){T c;if(a b) c a;else c b;return c; }int main(){int a 10, b 15, max_int;float c 23.2, d 32.22, max_float;long e 63425, f -232, max_long;// 计算最大值max_int max(a, b);max_float max(c, d);max_long max(e, f);// 输出数据cout int max value: max_int endl;cout float max value: max_float endl;cout long max value: max_long endl;return 0; } 因此这边将max修改为get_max后错误即可解决了。 2.3 函数模板实现 这里将上面例子通过函数模板重新实现一遍前面已将函数模板定义分号问题和函数命名问题解决后正确代码如下 #include iostream using namespace std; // 模板声明 template typename T// 定义通用函数用T作虚拟类型名 T get_max(T a, T b){T c;if(a b) c a;else c b;return c; }int main(){int a 10, b 15, max_int;float c 23.2, d 32.22, max_float;long e 63425, f -232, max_long;// 计算最大值max_int get_max(a, b);max_float get_max(c, d);max_long get_max(e, f);// 输出数据cout int max value: max_int endl;cout float max value: max_float endl;cout long max value: max_long endl;return 0; } 编译结果如下 运行结果如下
http://www.zqtcl.cn/news/693325/

相关文章:

  • 盐亭县建设局网站网站建设基本技术
  • 优化seo网站高质量的邯郸网站建设
  • 网站开发 合同范本软件设计专业介绍
  • 南山网站建设设计莱州网站建设关键字排名优化网络托管微信代运营
  • 传统门户网站有哪些网络营销公司全网推广公司
  • 桥头镇网站建设卢松松外链工具
  • 手机网站导航设计大连市自然资源局
  • 装修网站vr全景图怎么做软件工程师证书报考条件
  • 部门网站建设管理经验交流材料定制开发app
  • 做网站 就google权重查询
  • 网站制作 福宁网络有限公司绚丽的网站
  • wordpress ip 访问重庆seo顾问服务
  • 灰色调网站自动seo系统
  • 河北省网站建设公司排名企业网络信息安全
  • 郑州网站定制建个微商城网站
  • 北京好网站制作公司哪家好vs加数据库做网站
  • 电子商务网站建设与管理第四章答案seo入门培训学校
  • 温州最便宜网站建设有哪些网站可以做推广
  • 郑州网站建设制作公司wordpress播放m3u8
  • wordpress企业站手机客户端wordpress获取主页路径
  • 免费开通的网站外国网站在中国做推广
  • 揭阳公司做网站泰国网站域名
  • 上海网站制作方法北京网站制作设计推广公司
  • 衡水哪有建网站的吗个人简历word模板
  • 网站建设前期开发企业网站开发丨薇
  • 流程图 网站做网站后台数据库建设
  • 免费做英语卷子的网站wordpress去谷歌插件
  • 做网站费用网站极简设计
  • 兰州市建设工程安全质量监督站网站优化公司治理
  • 高质量的合肥网站建设天津百度网站快速优化