C++是实际开发中的应用较广,在可以使用C/C++的场合一般都会选择使用C++。
本系列假设您已经掌握了C++的基本使用方法,将探讨C++中一些更深入的知识。
每篇文章我尽量使用简短的文字、简明的实例来将问题阐述清楚。
这个系列探讨的问题都是C++相对于C语言独有的。C++和C共同存在的难点,在《神奇的C语言》系列中做阐述。
类成员函数指针:
class A{
public:
void Test();
};
typedef void (A:: * PFunc)(parameter list);
PFunc p_func = &A::Test;
void A::Test(){
(this->*p_func)();
((*this).*p_func)();
}
A a;
((&a)->*p_func)();
(a.*p_func)();
A* p_a = &a;
((*p_a).*p_func)();
(p_a->*p_func)();