後置コード例がいろいろ間違っトルorz
直した、
 前置の例: Counter& Counter::operator++() { this->str += "1"; return *this; }
 後置の例: std::auto_ptr<Counter> Counter::operaotr++(int) { std::auto_ptr<Counter> p(*this); this->str += "1"; return p; }

ただし、Counterクラスはstd::stringクラスのメンバstrを持ち、かつコピーコンストラクタCounter::Counter(Counter&)が定義されているとする