pr9594.cc revision 1.6
1 2class Base 3{ 4public: 5 virtual int get_foo () { return 1; } 6 int base_function_only () { return 2; } 7}; 8 9class Foo : public Base 10{ 11 12private: 13 int foo_value; 14 15public: 16 Foo () { foo_value = 0;} 17 Foo (int i) { foo_value = i;} 18 ~Foo () { } 19 void set_foo (int value); 20 int get_foo (); 21 22 // Something similar to a constructor name. 23 void Foofoo (); 24 25 bool operator== (const Foo &other) { return foo_value == other.foo_value; } 26}; 27 28void Foo::set_foo (int value) 29{ 30 foo_value = value; 31} 32 33int Foo::get_foo () 34{ 35 return foo_value; 36} 37 38void Foo::Foofoo () 39{ 40} 41 42namespace Test_NS { 43 44int foo; 45int bar; 46 47namespace Nested { 48 49int qux; 50 51} /* namespace Nested */ 52 53} /* namespace Test_NS */ 54 55int main () 56{ 57 // Anonymous struct with method. 58 struct { 59 int get() { return 5; } 60 } a; 61 Foo foo1; 62 foo1.set_foo (42); // Set breakpoint here. 63 a.get(); // Prevent compiler from throwing 'a' away. 64 return 0; 65} 66