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

Untitled

By: a guest on May 28th, 2012  |  syntax: None  |  size: 0.73 KB  |  hits: 19  |  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. Call a class' function in the constructor. C  
  2. class A
  3. {
  4.    public:
  5.       A() { std::cout << "A::A()" << std::endl ; }
  6.       virtual void foo() { std::cout << "A::foo()" << std::endl ; }
  7. } ;
  8.  
  9. class B : public A
  10. {
  11.    public:
  12.       B() { std::cout << "B::B()" << std::endl ; this->foo() ; }
  13.       virtual void foo() { std::cout << "B::foo()" << std::endl ; }
  14. } ;
  15.  
  16. class C : public B
  17. {
  18.    public:
  19.       C() { std::cout << "C::C()" << std::endl ; }
  20.       virtual void foo() { std::cout << "C::foo()" << std::endl ; }
  21. } ;
  22.  
  23. int main(int argc, char * argv[])
  24. {
  25.    C c ;
  26.    return 0 ;
  27. }
  28.        
  29. A::A()
  30. B::B()
  31. B::foo()
  32. C::C()
  33.        
  34. struct foo {
  35.     foo() {
  36.         call_me();
  37.     }
  38.     void call_me() {
  39.         std::cout << "something" << std::endl;
  40.     }
  41. };