2021年11月21日日曜日

C++の純粋仮想関数の宣言方法に物申す

多分初めてのC++エントリーです。

ここ何年もC++でまともにコードを書いていないんですが、最初に見たときからどうしても全身がムズムズする文法があります。

純粋仮想関数、お前のことだ。

純粋仮想関数とは

JavaやPHPのabstract methodのようなものといえば通じるでしょうか。

継承先のクラスで実装されることを前提として、その場では実装しないメンバー関数(メソッド)のことです。

純粋仮想関数の宣言方法

C++の純粋仮想関数は以下のように宣言できます。

class cls
{
public:
    virtual void pure_virtual_function() = 0;  // 純粋仮想関数
};

=0ってなんやねん。この取ってつけたような文法はどうにかならんかったのか。

pure virtualとか何かなかったのか。

Javaではabstractキーワードで宣言するので、やっぱりJavaを作った人たちも=0はキモかったんでしょうか。

0 件のコメント:

コメントを投稿