/* Copyright Bruno da Silva de Oliveira 2003. Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ namespace inherit2 { struct A { int x; int getx() { return x; } int foo() { return 0; } int foo(int x) { return x; } }; struct B : A { int y; int gety() { return y; } int foo() { return 1; } }; struct C : B { int z; int getz() { return z; } }; struct D : C { int w; int getw() { return w; } }; }