C言語を機能拡張し,オブジェクト指向プログラミング用にも使えるようにした言語。オブジェクト指向プログラミングを実現するために追加された機能としては,データの抽象化をするためのクラスといわれる特殊な構造体の定義や,クラスによるデータのプロテクト等がある。