在我的一个类中,我包含了一个指向成员函数的指针:
private:
void (class_name::*_pf)(double&, gc::mag::coefficient&, gc::mag::st&, const int&) const;
此指针指向类function1
的{{1}}或function2
。
现在,当我有两个类class_name
的对象时,如何检查class_name
指针是否指向同一个成员函数(也就是说,它们都指向_pf
还是function1
)?
答案 0 :(得分:2)
这应该足够了:
if (this->_pf == other._pf)
示例:
#include <iostream>
class class_name
{
public:
void function1(int) {}
void function2(int) {}
};
class test
{
public:
test(void (class_name::*pf)(int))
: _pf(pf)
{
}
bool operator==(const test& other)
{
return (this->_pf == other._pf);
}
public:
void (class_name::*_pf)(int);
};
int main()
{
test t(&class_name::function1);
test t2(&class_name::function2);
std::cout << std::boolalpha << (t == t2) << std::endl;
return 0;
}