泛型编程和函数指针
2015-07-27 21:57
429 查看
函数指针
#include<stdio.h>
int jug(int x, int y)
{
if (x >= 0)
return x;
else if (y == 0)
return x;
else
return x / y;
}
int sub(int x, int y)
{
return (x + y);
}
int minus(int x, int y)
{
return (x - y);
}
void test(int(*p)(int, int), int a, int b)
{
int Int1;
Int1 = (*p)(a, b);
printf("a=%d,b=%d\n", a, b, Int1);
}
int main()
{
int a = 1, b = 2, c = 3, d = 4, e = -5;
test(sub, a, b);
test(minus, c, d);
test(jug, e, b);
return 0;
}
#include<iostream>
using namespace std;
template<class T>
//建立一个静态模板库
class Operate{
public:
static T Add(T a, T b)
{
return a + b;
}
static T Mul(T a, T b)
{
return a - b;
}
static T Judge(T a, T b = 1)
{
if (a >= 0)
{
return a;
}
else
{
return a / b;
}
}
};
int main()
{
int A, B, C, D, E, x, y, z;
A = 1, B = 2, C = 3, D = 4, E = 5;
x = Operate<int>::Add(A, B);
y = Operate<int>::Mul(C, D);
z = Operate<int>::Judge(E, B);
cout << x << '\n' << y << '\n' << z << endl;
return 0;
}
相关文章推荐
- 【C++】关于编译器错误:error C2572 重定义默认参数 的说明
- Java虚拟机垃圾收集器
- Java项目初学-----满汉楼111
- 查看jdk源码的网站
- 我需要下载哪个版本的eclipse?
- C++ string类
- ASP.NET、HTML+CSS - 弹出提示窗体
- Python reportlab教程
- Java 里使用 long 类型的数据一定要在数值后面加上 “L”
- log4cpp-回滚文件
- java生成验证码代码
- 颜色直方图特征代码
- 正确lua简单的扩展,可以加速相关C++数据。
- django 1.8 官方文档翻译: 3-6-1 中间件概览
- 代码注释总结
- Asp.net-MyFirstMVCProject详细解释
- 小飞的电梯调度算法
- 数组和指针的区别
- 使用Maven的插件测试
- caffe python批量抽取图像特征