[C++] 用Xcode来写C++程序[5] 函数的重载与模板
用Xcode来写C++程序[5] 函数的重载与模板
此节包括函数重载,隐式函数重载,函数模板,带参数函数模板
函数的重载
#include <iostream>
using namespace std; int operate (int a, int b) {
return (a * b);
} double operate (double a, double b) {
return (a / b);
} int main ()
{
int x = ;
int y = ;
double n = 5.0 ;
double m = 2.0; cout << operate (x,y) << '\n';
cout << operate (n,m) << '\n'; return ;
}
打印结果
2.5
Program ended with exit code:
函数模板
#include <iostream>
using namespace std; // 模板
template <class T>
T sum (T a, T b) {
T result;
result = a + b;
return result;
} int main () {
// 值初始化
int i = ;
int j = ;
int k = ;
double f = 2.0, g = 0.5, h; // 使用模板函数
k = sum<int>(i, j);
h = sum<double>(f, g); // 打印输出
cout << k << '\n';
cout << h << '\n'; return ;
}
打印结果
2.5
Program ended with exit code:
模板自动匹配
#include <iostream>
using namespace std; template <class T, class U>
bool are_equal (T a, U b) {
return (a == b);
} int main () { // 自动模板识别
if (are_equal(,10.0))
cout << "x and y are equal\n";
else
cout << "x and y are not equal\n";
return ;
}
打印结果
x and y are equal
Program ended with exit code:
带参数的模板
#include <iostream>
using namespace std; template <class T, int N>
T fixed_multiply (T val) {
return val * N;
} int main() {
std::cout << fixed_multiply<int, >() << '\n';
std::cout << fixed_multiply<int, >() << '\n';
}
打印结果
Program ended with exit code:
[C++] 用Xcode来写C++程序[5] 函数的重载与模板的更多相关文章
- [C++] 用Xcode来写C++程序[4] 函数
用Xcode来写C++程序[4] 函数 此节包括引用函数,内联函数,防止修改函数入参,函数自身带有默认值. 引用函数:防止复制对象,减少系统开销 内联函数:编译的时候根据具体情形将代码嵌入进去,成不成 ...
- [C++] 用Xcode来写C++程序[7] Class
用Xcode来写C++程序[7] Class 不带构造函数的Rectangle类 // // Rectangle.h // Plus // // Created by YouXianMing on 1 ...
- [C++] 用Xcode来写C++程序[6] Name visibility
用Xcode来写C++程序[6] Name visibility 此小结包括了命名空间的一些使用细节 命名空间 #include <iostream> using namespace st ...
- [C++] 用Xcode来写C++程序[3] Constants
用Xcode来写C++程序[3] Constants 以下是一些基本数据的含义: 75 // int 75u // unsigned int 75l // long 75ul // unsigned ...
- [C++] 用Xcode来写C++程序[2] 操作变量
用Xcode来写C++程序[2] 操作变量 此节讲解包括变量的初始化的几种方式,以及泛型编程的两种变量赋值方式. 最基本的变量赋值以及操作: // operating with variables # ...
- [C++] 用Xcode来写C++程序[1] 新建C++项目工程
用Xcode来写C++程序[1] 新建C++项目工程 第一节从新建工程并编译C++源码开始 新建工程 源码: // // main.cpp // YeHelloWorld // // Created ...
- 使用Xcode IDE写node.js
最近在玩node.js 但是发现很多IDE就是用不顺手 后来发现Xcode可以剖析java script 于是试着使用Xcode来当做node.js的编辑器 首先,在Mac上必须先安装node.js的 ...
- 使用Code::blocks在windows下写网络程序
使用Code::blocks在windows下写网络程序 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创 ...
- JAVA-集合作业-已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。采用List集合和随机数
第二题 已知有十六支男子足球队参加2008 北京奥运会.写一个程序,把这16 支球队随机分为4 个组.采用List集合和随机数 2008 北京奥运会男足参赛国家: 科特迪瓦,阿根廷,澳大利亚,塞尔维亚 ...
随机推荐
- 打包命令tar
tar是linux下最常用的打包命令,使用tar打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的,也有.gz或.bz2结尾的. 1 常用参数 -c,--create # 新建打 ...
- 原生js实现拖动滑块验证
拖动滑块验证是现在的网站随处可见的,各式各样的拖动法都有. 下面实现的是某宝的拖动滑块验证: <!DOCTYPE html> <html lang="en"> ...
- cordova打包APK,报错:Cannot evaluate module CordovaLib : Configuration with name 'debug' not found.
原因:之前做其他项目的时候把环境(gradle)升级了. 解决方案:将gradle降低回原来的版本.
- 【转】Visio绘制WEB流程图的心得
一个哥们在MSN上告诉我,他们公司的交互设计师只产出流程图,并问我用什么标准评价流程图的好坏.他的说法把我彻底震了-这分工也太细了吧!也不知道该说他们那里这样是好还是不好. 不过仔细想来,我倒的确没有 ...
- sqlserver数据导入导出问题
sqlserver,如果用结果另存为,导出txt数据,然后在导入数据库,有时候会出问题,很难解决. 但是全选,右击,复制到自己创建的txt里面,在导入数据,就不会有问题的. 神奇,不知道为什么,但是能 ...
- MVC初级教程(四)
演示产品源码下载地址:http://www.jinhusns.com/Products/Download
- HTML5的audio在手机网页上无法自动加载/播放音乐,能否实现该功能?
在IOS中第一次调用play方法播放音频会被阻止,必须得等用户有交互动作,比如touchstart,click后才能正常调用,在微信中可以通过监听WeixinJSBridgeReady事件来提前播放一 ...
- 【模板】 全排列 && 有重复元素的全排列
全排列 #include<bits/stdc++.h> using namespace std; ]; void print (int n){ ;i<=n;i++) cout< ...
- Java基础教程(12)--深入理解类
一.方法的返回值 当我们在程序中调用方法时,虚拟机将会跳转到对应的方法中去执行.当以下几种情况发生时,虚拟机将会回到调用方法的语句并继续向下执行: 执行完方法中所有的语句: 遇到return语句: ...
- WPF流程图制作系列相关基础一
WPF流程图制作相关基础一 需求是要通过wpf开发流程图,这个流程图是用户自行拖动配置. 使用过流程图的话,应该大体能想象出流程图拖动配置的样子.这里主要会涉及到的技术知识点就是 wpf拖动相 ...