dyna/string4.hpp

The following code example is taken from the book
Object-Oriented Programming in C++
by Nicolai M. Josuttis, Wiley, 2002
© Copyright Nicolai M. Josuttis 2002


namespace CPPBook {
  class String {
    public:
      class reference {
          //...
      };

      // error class:
      // - forward declared because it contains a String
      class RangeError;

    public:
      //...
      // operator [] for variables and constants
      reference operator [] (unsigned);
      char      operator [] (unsigned) const;
  };

  class String::RangeError {
    public:
      int    index;    // invalid index
      String value;    // string for this purpose

      // constructor (initializes index and value)
      RangeError (const String& s, int i) : index(i), value(s) {
      }
  };
}