C++的 四种编程范式有:
1.面向过程
2.面向对象
3.泛型编程
4.函数式编程
面向过程
int add1(int a,int b)
{
return a+b;
}
面向对象
这里我选择运算符重载
class Add
{
public:
Add(int i):m_i(i){}
int operator+(const int rhs)
{
return m_i+rhs;
}
private:
int m_i;
};
泛型编程
auto add2(T a,U b) ->decltype(a+b)
{
return a+b;
}
其中auto为自动推导数据类型,该处作用为推导函数返回值类型,但在此只作为函数返回值类型占位,函数值返回类型是通过 decltype检测,有点像printf函数,后面decltype(a+b)是参数列表。
注:如果编译时报错无法识别decltype,请使用c++11标准,alias g++='g++ -std=c++11',并将g++版本升级至4.7以上。
函数式编程
auto add3=[](int a,int b) -> int
{
return a+b;
};