/* 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 inherit3 { struct A { A() { x = 0; } struct X { int y; }; int x; virtual int foo() { return 0; } virtual int foo(int x) { return x; } A operator+(A o) const { A r; r.x = o.x + x; return r; } enum E { i, j }; }; struct B: A { B() { x = 0; } struct X { int y; }; int x; int foo() { return 1; } A operator+(A o) const { A r; r.x = o.x + x; return r; } enum E { i, j }; }; struct C: A { }; }