
![]() |
|||
|
たとえば、複素数を表現する構造体 Complex を作ったとします。その構造体には実部・虚部を表す2つのメンバがあります。 Complex 型の2つの変数の和を計算するためには、通常、各メンバを別々に足す必要があります。具体的には次のようになるでしょう。 |
|||
|
||||
|
複素数の足し算は単純なのに、毎回実部と虚部を別々に足すのは面倒です。こういう場合のため、C++ では演算子の動作を自由に定義することが可能です。足し算の演算子 + は operator+ という関数で定義されます。演算子 + は2つのパラメータをとる2項演算子なので、operator+ 関数も2つのパラメータをとります。また、戻り値として和を返します。 具体的には、次のようになります。 |
|||
|
||||
|
このように、面倒な操作でもひとたび演算子として定義してしまえば単純に記述できるようになります。 足し算以外にも、 最後に、比較演算子の例を掲載しておきます。 |
|||
|
||||
(「オブジェクト指向のはなし」は1999年2月から2000年4月にかけて作成されたコンテンツです。)