您的位置:首页 > 编程语言 > C语言/C++

C++模板编程->成员函数指针模板参数

2014-04-05 14:02 447 查看
class some_value;
typename int (some_value::*some_value_mfp)(int);
template<some_value_mfp func>
int call(some_value &value ,int op){return (value.*func)(op);}

class some_value
{
int value;
public:

some_value(int _value):value(_value){}
int add_by(int op ){return value+=op;}
int sub_by(int op ){return value-=op;}
int mul_by(int op ){return value*=op;}

~some_value();

/* data */
};
int main(int argc, char const *argv[])
{
some_value v0(0);
cout<<call<&some_value::add_by>(v0,1)<<endl;
cout<<call<&some_value::sub_by>(v0,2)<<endl;
cout<<call<&some_value::mul_by>(v0,3)<<endl;

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: