blob: 3b22b089e1cc390f13a3fd42aaea08357bbe9f63 [file] [log] [blame]
namespace Container
{
class Widget
{
public:
Widget (int inVal) : containerVar (inVal) {};
int report (void)
{
return containerVar;
};
private:
int containerVar;
};
} // namespace Container
namespace Container
{
namespace Contained
{
class Widget : public Container::Widget
{
public:
Widget (int contVal, int baseVal) : Container::Widget (baseVal), contVar (contVal) {};
int report (void)
{
return contVar * Container::Widget::report ();
};
private:
int contVar;
};
} // namespace Contained
} // namespace Container
int reportBase (Container::Widget *input)
{
return input->report (); /* good stopping point in reportBase */
}
int main ()
{
Container::Widget base (10);
Container::Contained::Widget cont (100, 200);
return reportBase (&cont) * cont.report(); /* good stopping point in main */
}