C .类方法指针
发布时间:2020-12-16 03:14:53 所属栏目:百科 来源:网络整理
导读:有一个班 class A {public: A() {};private: void func1(int) {}; void func2(int) {};}; 我想添加一个函数指针,它将在构造函数中设置,并指向func1或func2. 所以我可以从每个类过程调用这个指针(作为类成员),并在构造函数中设置这个指针. 我该怎么做? 解决
有一个班
class A { public: A() {}; private: void func1(int) {}; void func2(int) {}; }; 我想添加一个函数指针,它将在构造函数中设置,并指向func1或func2. 所以我可以从每个类过程调用这个指针(作为类成员),并在构造函数中设置这个指针. 我该怎么做? 解决方法class A { public: A(bool b) : func_ptr_(b ? &A::func1 : &A::func2) {}; void func(int i) {this->*func_ptr(i);} private: typedef void (A::*func_ptr_t_)(); func_ptr_t_ func_ptr_; void func1(int) {}; void func2(int) {}; }; 也就是说,多态可能是更好的方式来做任何你想做的事情. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |