#ifndef __header_h__
#define __header_h__

#include <stdio.h>

class ParamA {
 public:
  class ParamB {
  };
};

class Base
 {
   public:
      void abar(int, int) {
        printf("Base::abar()\n");
      }
      int *test(ParamA::ParamB *p) {return (int*)2;}
 protected:
 };

class Test : public Base {
  public:
    void foo() {
      	printf("Test::foo()\n");
	abar(1,2);
	test(0);
    }
      
    void abar(int, int) {
        printf("Test::abar()\n");
    }
    void bbar(int, int) {
        printf("Test::bbar()\n");
    }
};

class Derived : public Test
 {
    void abar(int, int) {
        printf("Derived::abar()\n");
    }
 };

class OtherDerived : public Base
 {
 };

#endif // __header_h__
