能否定义一个指向由类模板建立的对象的成员函数的指针啊

2024-11-30 01:10:31
推荐回答(2个)
回答1:

可以,类模板声明了类是怎么定义的,但是实例化以后(也就是创建对象之后),那么就和普通的类是一样的

回答2:

指向某个特定类型的可以,通用的好象没有简单的方法可以实现

#include

template
class A {
public:
typedef void (A::*AFun)();
void foo() { printf("A::foo\n"); }
void bar() { printf("A::bar\n"); }
};

typedef void (A::*AFun)();

void fun(A &a, AFun fun)
{
(a.*fun)();
}

int main()
{
A a;
fun(a, &A::foo);
fun(a, &A::bar);
getchar();
}