演算子のオーバーロード

C++を語る上で欠かせないのが、オーバーロードという概念である。オーバーロードとは上書きという意味で、C++ではあらゆる要素を上書きして使うことができる。
C++では、演算子オーバーロードすることができる。演算子とは、+だの-だの%だの算術記号や()だのだの特殊な記号を指す。これを上書きして乗っ取ってしまうということは、例えばA+Bとした式が、内部ではA-Bをしたことにしてしまう、ということも出来るのだ。
勿論実際はそんな変態的な使用をすることもなく。主な使用方法としてはclassとclassを比較したり代入したり足し合わせたりした時、classのメンバ変数であるid同士を比較させたりするときに使う。もっとも専用の関数を用意してあげても良いのだが、演算子をオーバーロードして使ったほうが直感的で分かりやすい。
後は
のオーバーロードなどはSTLコンテナなどに使われており、[3]と指定するとクラスの中のあるポインタの値の三番目を取ってきて教えてくれる、というような使い方も可能である。()のオーバーロードは関数オブジェクトなんて名前が付いていて色々な使われ方をしているが、詳しくはググるべし。
とにかく、オーバーロードはC++を扱う上で知っておいて損はない変態的一要素なのである。間違いなく使う機会はあるので、せめて概念だけは理解しておくといいと思う