
Untitled
By: a guest on
Jun 22nd, 2012 | syntax:
C++ | size: 0.65 KB | hits: 29 | expires: Never
#include "iostream"
typedef void (*pfunc)(void*);
class D
{
D(): a(5),f1(**(pfunc**)this)
{
std::cout << "object of class D has created." << std::endl;
}
virtual void func()
{
std::cout << "a: " << a << " from D." << std::endl;
}
friend class F;
pfunc f1;
int a;
};
class F: public D
{
public:
F()
{
std::cout << "object of class F has created." << std::endl;
f1(this); // func from D
func(); // func from F
}
void func()
{
std::cout << "a: " << a << " from F." << std::endl;
}
};
int main()
{
F g;
return 0;
}