T run(T t, F f)//函数包装器,T是数据,F是函数
1 #include <iostream> 2 3 template<typename T, typename F> 4 T run(T t, F f)//函数包装器,T是数据,F是函数 5 { 6 return f(t); 7 } 8 9 int add(int num)//函数 10 { 11 return num + 10;//实现+10 12 } 13 14 void main() 15 { 16 int num = 100; 17 auto func = add; 18 19 std::cout << run(num, add) << std::endl;//110 20 21 system("pause"); 22 }
//包装器,实现一个操作接口,操作多个类的函数
1 #include <iostream> 2 3 //包装器,实现一个操作接口,操作多个类的函数 4 5 template<typename T, typename F> 6 T run(T t, F f)//函数包装器,T是数据,F是函数 7 { 8 return f(t); 9 } 10 11 int add(int num)//函数 12 { 13 return num + 10;//实现+10 14 } 15 16 class myclass 17 { 18 public: 19 int num; 20 myclass(int data) :num(data) 21 { 22 23 } 24 int operator()(int X)//重载() 25 { 26 return X*num; 27 } 28 }; 29 30 void main() 31 { 32 std::cout << run(101, myclass(5)) << std::endl;//505 33 34 system("pause"); 35 }
时间: 2024-10-08 09:47:51