It was mentioned on stack overflow by a programmer that if you declare one class function, for example:

```
operator++()

```

That for user-interface purposes (as the user naturally assumes its opposite should work), you should declare the other:

```
operator--()

```

Is there a link to an article that supports this? I wish to be able to reference it to other programmers.

I thought to add that, perhaps the suggestion is similar to the [rule of 3](http://en.wikipedia.org/wiki/Rule_of_three_%28C%2B%2B_programming%29), or [the big 2](http://www.artima.com/cppsource/bigtwo.html).

In light of hostilefork's answer, perhaps the opposite functions should be declared even in instances where even it doesn't serve a purpose, but as private, so the user explicitly knows they cannot call that function? Or is that just being pedantic?