#include <cstdio>
#include <iostream>
#include <map>
#include <vector>
#include <cstring>
#include <string>
#include <algorithm>
#include <pthread.h>
#include "common/functions.h"
#include<unistd.h>
using namespace std;
class Me
{
public:
Me(){};
~Me(){};
void eat(){cout<<"eat"<<endl;}
void sleep(){cout<<"sleep"<<endl;}
void drink(){cout<<"drink"<<endl;}
void do_something(void (Me::*p)() ){(this->*p)();}
bool add(const int& a,const int& b,int& c){c=a+b;}
void cal(const int& a, const int& b,
bool ((Me::*p)(const int&,const int&,int&)) );
static bool sub(const int& a,const int& b,int& c){c=a-b;}
void cals(const int& a, const int& b,
bool ((*p)(const int&,const int&,int&)) );
bool mul(const int& a,const int& b,int& c){c=a*b;}
static void scal(const int& a, const int& b,
bool ((Me::*p)(const int&,const int&,int&)) );
static bool div(const int& a,const int& b,int& c){c=a/b;}
static void scals(const int& a, const int& b,
bool ((*p)(const int&,const int&,int&)) );
};
void Me::cal(const int& a, const int& b,
bool ((Me::*p)(const int&,const int&,int&)) )
{
int c;
(this->*p)(a,b,c);
cout<<"i cal :"<<c<<endl;
}
void Me::cals(const int& a, const int& b,
bool ((*p)(const int&,const int&,int&)) )
{
int c;
(*p)(a,b,c);
cout<<"i cal :"<<c<<endl;
}
void Me::scal(const int& a, const int& b,
bool ((Me::*p)(const int&,const int&,int&)) )
{
int c;
// (this->*p)(a,b,c);
cout<<"i cal :"<<c<<endl;
}
void Me::scals(const int& a, const int& b,
bool ((*p)(const int&,const int&,int&)) )
{
int c;
(*p)(a,b,c);
cout<<"i cal :"<<c<<endl;
}
int main()
{
string str = "hello word!";
cout<<"hello word!"<<endl;
vector<string> tmp_vec;
tokenize(str, tmp_vec, " ");
// alarm(3);
// pause();
cout<<tmp_vec[0]<<endl;
Me me;
me.do_something(&Me::eat);
me.cal(1,2,&Me::add);
func();
me.cals(1,2,&Me::sub);
me.scal(1,2,&Me::mul); //buke
Me::scal(1,2,&Me::mul); //buke
me.scals(1,2,&Me::div);
Me::scals(1,2,&Me::div);
return 0;
}
[c++] 函数作为参数传入函数进行调用的bulabula
猜你喜欢
转载自blog.csdn.net/sszzyzzy/article/details/89204433
今日推荐
周排行