Informal Class Declarations

As a convention in this book, class members are summarized by informal class declarations that describe the class as it seems to clients, not how it is actually implemented. For example, here is an informal declaration of class Foo:

	class Foo {
	public:
	    int x( );
	    int y;
	    ~Foo( );
	};

The actual implementation might look like this:

	class FooBase {
	protected:
	    int x( );
	};

	class Foo: protected FooBase {
	private:
	    int internal_stuff;
	public:
	    using FooBase::x;
	    int y;
	};

The example shows two cases where the actual implementation departs from the informal declaration:

  • Method x() is inherited from a protected base class.

  • The destructor is an implicitly generated method.

The informal declarations are intended to show you how to use the class without the distraction of irrelevant clutter particular to the implementation.

Get Intel Threading Building Blocks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.