class foo {
public:
foo();
explicit foo(CTBint i_size);
foo(const foo& rhs);
foo(foo& rhs, bool b_grab);
~foo();
void Grab(foo& rhs);
... all other stuff ...
void ToStream(ostream& os = cout) const;
void Dump(int i_indent=0, ostream& os=cout,
const char* p_text=0) const;
T& operator[](CTBint i_ind);
const T& operator[](CTBint i_ind) const;
bool operator!() const;
operator T*();
operator const T*() const;
operator bool() const;
foo& operator=(foo& rhs);
foo& operator=(const T& rhs);
foo& operator<<(const T& rhs);
foo& operator>>(T& rhs);
private:
void ChangeCapacity(CTBint i_cap);
private:
CTBint mi_nuse;
};
operator+=
operator-=
operator==