C++11, 14の新機能

明示的なオーバーライド

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
このレッスンでは、関数オーバーライドを明示的に行う方法について説明します。
講師:
03:32

字幕

このレッスンでは、関数オーバーライドを明示的に行う方法について説明します。C++11 では、特定の箇所でのみ意味をもつキーワードとしてオーバーライドが登場しました。これは、メンバ関数が親クラスの関数をオーバーライドすることを明示するキーワードです。オーバーライドが指定されているにもかかわらずオーバーライドを行わない場合は、コンパイル時にエラーが発生します。実際にいくつか例を交えて説明します。ここではクラス A に仮想関数 f を定義し、パブリックケーションしたクラス B から関数 f をオーバーライドすることを明示しています。実際にコンパイルしてみます。無事コンパイルが通りました。ここでクラス A のメンバ関数 f を仮想関数ではなくしてみます。これでコンパイルを行うと、仮想関数ではないためクラス B から f がオーバーライドを行うことができず、オーバーライドが行えないといったコンパイルエラーが発生します。またクラス B の関数 f の名前をf から g に変更してみます。これをコンパイルすると、やはりクラス A に仮想関数 g の定義などないため、オーバーライドが行えずエラーになります。 これにより、関数名のスペルミスや型の違いなどによってオーバーライドを意図していたにもかかわらずオーバーライドされないといった事故を防ぐことができます。同様に、特定の箇所にのみ意味をもつキーワードとしてfinal も登場しました。ここではクラス A にfinal を指定します。そしてコンパイルを行うと、この通りクラス A からは継承ができないといったエラーが発生します。また final はクラスだけでなくメンバ関数につけることもできます。この場合は、final がついた関数をオーバーライドできないといったエラーが発生します。この通り final はクラスやメンバ関数の継承 オーバーライドを禁止する機能です。このレッスンでは、関数オーバーライドを明示的に行う方法について説明しました。

C++11, 14の新機能

C++11,とC++14では大幅に機能追加が行われ、これまでのC++よりも遥かに快適なプログラミングが行えるようになりました。このコースではC++03からC++11とC++14で新たに追加された言語機能や標準ライブラリについて簡単に紹介します。進化したC++を知ってより快適にプログラミングを行うために、ぜひともこのコースをご覧ください。

1時間57分 (43 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2015年10月15日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。