他学科OBの受講生を考慮し、構造体の説明を行う。 この説明の中で、オブジェクト指向の用語を多数取入れる。 これにより、電子情報OBの学生にはオブジェクト指向の入口を理解してもらう。
C言語で、オブジェクト指向もどきのプログラミングの例
struct Person { char name[ 30 ] ; int age ; float height ; } ; void set_Person( struct Person* this , char s[] , int a , float h ) { strcpy( (*this).name , s ) ; (*this).age = a ; (*this).height = h ; } void print_Person( struct Person* this ) { printf( "%s %d %f\n" , (*this).name , (*this).age , (*this).height ) ; } void main() { struct Person saitoh ; set_Person( &saitoh , "t-saitoh" , 40 , 172.3 ) ; print_Person( &saitoh ) ; }
この例のプログラムの例では、 set_Person , print_Person 関数により、 手続き抽象 となっている。 また、main の処理の内部には、データ構造の内容が一切記載されていないため、 データ抽象 ができている。これにより、処理とデータ構造の隠蔽化ができる。 これにより、 データ構造を擬人化してとらえ 『データ構造に命令する』 というイメージでプログラムが作れるので直観的 となる。
他学科OBのために、この話しの前に、関数への値渡し・ポインタ渡し・C++での参照渡し を説明する。上記プログラム例では、沢山の演算子の説明を防ぐために、 アロー演算子は最初の段階では説明を行わない。