ホーム » スタッフ » 斉藤徹 » 隠蔽化(Complex)の解説+演算子オーバライド

2010年5月
« 4月   6月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

最近の投稿(電子情報)

アーカイブ

カテゴリー

隠蔽化(Complex)の解説+演算子オーバライド

例年どおり、複素数のクラスを直交座標系で記述して、 隠蔽化を考慮してプログラムを書けば、後でデータ構造を極座標系に変更しても 利用者側のプログラムは一切変更不要…というネタで解説する。

今年度は、すでに受講者が電子情報のみになっているので、 例年説明をしていない演算子オーバーライドや"cout<<…<<endl" といった、iostream系の紹介(詳しい解説はしない)を行った。

途中にて、Complex::add( Complex& ) といった宣言で、「引数を参照宣言するのはなぜ?」 といった質問がでる。例で示した複素数といったオブジェクトであれば、関数呼び出しで コピーを伴う「値渡し」でも実行効率は悪くならないが、巨大オブジェクトではコピーを避けるために 「参照渡し」が一般的であるため、実務で見かける機会の多い「参照渡し記述」をしていると説明する。