/************************************************************************ *
In the following example, a typedef is used so
that the simple name nested can be used in place of
outside::middle::inside.
* ************************************************************************/
// This example illustrates a typedef used to simplify
// a nested class name.
#include <iostream.h>
class outside {
public:
class middle {
public:
class inside {
private:
int a;
public:
inside(int a_init = 0): a(a_init) {}
void printa();
};
};
};
typedef outside::middle::inside nested;
void nested::printa() {
cout << "Here is a " << this->a << endl;
}
void main() {
nested n(9);
n.printa();
}