仮想関数をもちいたグラフィック
今までの仮想関数の説明だと、新しい考え方に悩んでいそうなので、 簡単に総括説明をしたあと、演習の導入を説明する。
例年どおりの、図形クラスへの機能追加をテーマとする。 ただし、EI系以外の学生さんだと、グラフィックスプログラミングの 経験がないので、まずは演習とは関係無く、グラフィックス機能の演習を行う。
++i と i++ の違いを質問される。
printf( "%d\n" , i++ ) ; は、 printf( "%d\n" , i ) ; i = i+1 ; と同じ。 printf( "%d\n" , ++i ) ; は、 i = i+1 ; printf( "%d\n" , i ) ; と同じ。 基本的に、式全体の評価の前に i=i+1 するのが "++i"
「+=」と「=+」の違いを質問される。
比較演算子 i <= 10 と i =< 10 と書いても同じように、 どちらで書いても良い….といいたいけど、
i=+1; ~が「i = (+1)」と「i=i+1」の間違った2つの解釈の可能性がある。
このため、慎重なプログラマーは、
i += 1 ; // += 演算子の前後に必ず空白を入れる。