[CGS] POINTER-TO-MEMBER FUNCTION WOOP WOOP

Tiago Nobrega tigarmo at gmail.com
Tue Feb 27 17:30:27 UTC 2007


#include <iostream>

class A {
	protected:
	typedef void (A::*F)();
	public:
		virtual ~A(){}
		void emA(){
			std::cout << "A::emA()\n";
		}
		void exec(F f){
			(this->*f)();
		}
};

class B : public A{
	public:
		B(){
			this->A::exec(static_cast<F>(&B::emB));
		}
		virtual ~B(){}
		void emB(){
			std::cout <<"B::emB()\n";
		}
};

int main(){
	B b;
}


--------------
output:
B::emB()


More information about the Cgs mailing list