「純粋仮想関数」の版間の差分

提供: C++入門
移動: 案内検索
(ページの作成:「<!-- vim: filetype=mediawiki --> 読み方 ;純粋仮想関数:じゅんすい かそう かんすう ;pure virtual function:ぴゅあ ばーちゃる ふぁんく...」)
(相違点なし)

2013年3月24日 (日) 01:06時点における版


読み方

純粋仮想関数
じゅんすい かそう かんすう
pure virtual function
ぴゅあ ばーちゃる ふぁんくしょん

概要

純粋仮想関数 (pure virtual function) は、仮想関数の一種です。純粋仮想関数は、実装がなく、プロトタイプが宣言されているだけの関数です。 純粋仮想関数があるクラスは、そのままインスタンス化はできず、クラス継承し、純粋仮想関数オーバーライドして、実装しなければなりません。 このようなクラスは、抽象クラスと呼ばれます。

純粋仮想関数 の宣言は簡単で、プロトタイプ宣言に = 0 をつけるだけです。

#include <iostream>
using namespace std;
 
class B {
        public:
		// 純粋仮想関数
                virtual void f() = 0;
};

純粋仮想関数の例

ソースコード pure_virtual_function_1.cpp

#include <iostream>
using namespace std;
 
class B {
        public:
                virtual void f() = 0;
};
 
class C1 : public B {
        public:
                void f() {
                        cout << __PRETTY_FUNCTION__ << endl;
                }
};
int main(int argc, char const* argv[])
{
        //B b;
        C1 c1;
 
        c1.f();
 
        return 0;
}

コンパイル

g++  pure_virtual_function_1.cpp -o pure_virtual_function_1

実行例

% ./pure_virtual_function_1
virtual void C1::f()

関連項目