next up previous contents
Next: 29.1 クラスとオブジェクト Up: C 言語 Previous: 28. main 関数の引数

29. C++とクラス

C++ では、Cにおいて不明確であったデータと関数の結び付きを明確にするための メカニズムが用意されています。こうした手法は一般にオブジェクト指向と呼ばれ ていますが、簡単に言えばデータは構造化されていたのに、それを扱う関数は構造化 されておらず、従って関数についてはモジュール以外のまとまりが存在しないこと に対する反省が、オブジェクト指向であると言えます。

オブジェクト指向で中心的な概念となるのが、クラス(Class)です。C++では、クラス は構造体を拡張したものになっており、Cの構造体に関数ポインタを入れて、適当な スコープを持たせたものだと言えます。この章でC++のクラス機能について全てを解説 するのは明らかに無理ですし、この本の目的でもありません。ここでは簡単に、C++ のオブジェクト指向とCの違いについてのみ触れることにします。興味のある人は、 C++をきちんと勉強する必要があります。また、Javaもオブジェクト指向という点では 同じですが、C++の方がより多くの文法を持っています。これが実はC++ が難しいという理由の一つでもありますし、Javaがそうした困難を回避するために、 文法を単純化した理由でもあります。





Noriyo Kanayama