Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 22nd, 2012  |  syntax: C++  |  size: 0.65 KB  |  hits: 29  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #include "iostream"
  2.  
  3. typedef void (*pfunc)(void*);
  4.  
  5. class D
  6. {
  7.     D(): a(5),f1(**(pfunc**)this)
  8.     {
  9.         std::cout << "object of class D has created." << std::endl;
  10.     }
  11.     virtual void func()
  12.     {
  13.         std::cout << "a: " << a << " from D." << std::endl;
  14.     }
  15.     friend class F;
  16.     pfunc f1;
  17.     int a;
  18. };
  19.  
  20. class F: public D
  21. {
  22.   public:
  23.     F()
  24.     {
  25.         std::cout << "object of class F has created." << std::endl;
  26.         f1(this); // func from D
  27.         func(); // func from F
  28.     }
  29.     void func()
  30.     {
  31.         std::cout << "a: " << a << " from F." << std::endl;
  32.     }
  33. };
  34.  
  35. int main()
  36. {
  37.     F g;
  38.     return 0;
  39. }