11
純粋な仮想関数が0で初期化されるのはなぜですか?
常に純粋仮想関数を次のように宣言します。 virtual void fun () = 0 ; つまり、常に0に割り当てられます。 私が理解しているのは、これがこの関数のvtableエントリをNULLに初期化することであり、ここに他の値があるとコンパイル時エラーが発生することです。この理解は正しいですか。
C ++は汎用プログラミング言語です。もともとCの拡張として設計され、構文は似ていますが、現在は完全に異なる言語になっています。このタグは、C ++コンパイラでコンパイルされる(される)コードに関する質問に使用します。特定の標準リビジョン[C ++ 11]、[C ++ 14]、[C ++ 17]または[C ++ 20]などに関連する質問には、バージョン固有のタグを使用します。