| |
| struct bar; |
| struct foo |
| { |
| operator bar* (); |
| }; |
| |
| class Foo { |
| Foo operator + (const Foo& rhs) const; |
| |
| const Foo& operator == (Foo& me); |
| |
| bool operator > (const Foo& rhs) const; |
| |
| InStream& operator << (InStream& in); |
| } |
| |
| const Foo& Foo::operator == (Foo& me) |
| { |
| } |
| |
| Foo Foo::operator + (const Foo& rhs) const |
| { |
| } |
| |
| bool Foo::operator > (const Foo& rhs) const |
| { |
| } |
| |
| class Example |
| { |
| char m_array[256]; |
| |
| Example& operator = (const Example& rhs); |
| Example& operator += (const Example& rhs); |
| const Example operator + (const Example& other) const; |
| bool operator == (const Example& other) const; |
| bool operator != (const Example& other) const; |
| Example operator + (const Example& x, const Example& y); |
| Example operator * (const Example& x, const Example& y); |
| |
| double& operator () (int row, int col); |
| double operator () (int row, int col) const; |
| void operator ++ (); |
| int& operator * (); |
| Example& operator ++ (); // prefix ++ |
| Example operator ++ (int); // postfix ++ |
| |
| bool operator < (const Example& lhs, const Example& rhs) const; |
| |
| int operator () (int index) |
| { |
| i = ~~3; |
| return index + 1; |
| } |
| |
| char& operator [] (unsigned i) |
| { |
| return m_array[i & 0xff]; |
| } |
| } |
| bool Example::operator == (const Example& other) const |
| { |
| /*TODO: compare something? */ |
| return false; |
| } |
| bool Example::operator != (const Example& other) const |
| { |
| return !operator == (other); |
| } |
| |
| |
| void a() { |
| Op op = &X::operator ==; |
| if (!A) |
| if (op != &X::operator ==) |
| A(1) = a; |
| if (!A) { |
| if (op != &X::operator ==) |
| A(1) = a; |
| } |
| } |
| |
| void *operator new (std::size_t) throw(std::bad_alloc); |
| void *operator new[] (std::size_t) throw(std::bad_alloc); |
| void operator delete (void *) throw(); |
| void operator delete[] (void *) throw(); |