Applistar

6. 8 仮想関数 → 純粋仮想関数 → 抽象クラス → インタフェース

TOP > 6 SystemCを理解するためのC++入門 > 6. 8 仮想関数 → 純粋仮想関数 → 抽象クラス → インタフェース
  6. 8 仮想関数 → 純粋仮想関数 → 抽象クラス → インタフェース  

6. 8 仮想関数 → 純粋仮想関数 → 抽象クラス → インタフェース

C++ からは少し離れますが、ここまで出て来た、C++ の 「仮想関数 → 純粋仮想関数 → 抽象クラス」 の関係が SystemC の インタフェースに使われる件をまとめておきます。

概念 意味・作り方
仮想関数 基底クラスで関数にvirtualを付けて宣言する
純粋仮想関数 仮想関数= 0とする(定義がなくても良い)
抽象クラス 純粋仮想関数を一つ以上持つクラス
インタフェースクラス 抽象クラスのうち、一つも実装定義のないもの
インタフェース インタフェースクラスの形で作る
チャネル インタフェースを継承して作る。全ての純粋仮想関数の定義が必要

この表で最初の四つは C++ の用語、残りの二つは SystemC の用語です。

抽象クラス、インタフェースクラス、インタフェースは、いづれも そのままではオブジェクトを生成出来ないので、継承して使います。

抽象クラスは、関数の実装を定義しない仮想関数のみ定義した クラスのことをいいます。

チャネルは、インタフェースを継承して作ります。 インタフェースから継承した仮想関数の実装をすべて定義する 必要があります。

  6. 8 仮想関数 → 純粋仮想関数 → 抽象クラス → インタフェース  
TOP > 6 SystemCを理解するためのC++入門 > 6. 8 仮想関数 → 純粋仮想関数 → 抽象クラス → インタフェース