「純粋仮想関数」の版間の差分
提供: 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()