#include "base.h" | |
class Foo : public FooBase { | |
public: | |
Foo(); | |
// Deliberately defined by hand. | |
Foo &operator=(const Foo &rhs) { | |
x = rhs.x; // break1 | |
a = rhs.a; | |
return *this; | |
} | |
int a; | |
}; | |
namespace ns { | |
class Foo2 : public Foo2Base { | |
public: | |
Foo2(); | |
// Deliberately defined by hand. | |
Foo2 &operator=(const Foo2 &rhs) { | |
x = rhs.x; // break2 | |
a = rhs.a; | |
return *this; | |
} | |
int a; | |
}; | |
} // namespace ns | |
extern Foo foo1; | |
extern Foo foo2; | |
extern ns::Foo2 foo2_1; | |
extern ns::Foo2 foo2_2; |