198d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam
298d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliamclass myclass {
398d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  int myint;
498d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam public:
598d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  myclass(int x);
698d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  myclass(void);
798d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  ~myclass();
898d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  static int Fis_i(int bar);
998d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  int Fi_i(int bar);
1098d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  /* Overloaded operators */
1198d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  void* operator new(size_t);
1298d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  void operator delete(void *);
1398d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  /* Unary operation.  */
1498d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  myclass operator++();// Preincrement
1598d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  myclass operator++(int);// Postincrement
1698d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam
1798d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  /* Binary operation.  */
1898d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  myclass operator+(int);
1998d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam
2098d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  /* Assignment */
2198d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  myclass& operator=(const myclass& from);
2298d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  /* Nested classes */
2398d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  class nested {
2498d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  public:
2598d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam    nested();
2698d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam    ~nested();
2798d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam    int Fi_i(int bar);
2898d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  };
2998d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam};
3098d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam
3198d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliamclass nested {
3298d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam public:
3398d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  nested();
3498d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  ~nested();
3598d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam  int Fi_i(int bar);
3698d884bfd78ea7a37f46515c6e9e3635a95d8cbcPaul Gilliam};
37