| 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(); |