<p>There are a few things that I almost always do when I put a class together in C++.</p>

<p>1) Virtual Destructor
2) Copy constructor and assignment operator (I either implement them in terms of a private function called Copy(), or declare them private and thus explicitly disallow the compiler to auto generate them).</p>

<p>What things do you find are almost always useful?</p>

Often,
```
```
operator string () const;
```
```
or
```
```
friend ostream& operator << (ostream&, const MyClass&);
```
```