C++でインターフェイスを作成しよう。プログラミング言語C++でインターフェイスを作成しよう。私事ですが今後業務ではC++を使用することになりそうです。今まではウェブ関連の業務であったり、ちょっとしたテスト程度だったのでJavaを中心に使っていたため、C++の文法など少し忘れ気味です...。先日もC++で「インターフェイスの予約語なんだっけ?interfaceじゃないの?」と慌てました。リハビリがてらにインターフェイスをC++で実装してみたいと思います。まとめそもそもインターフェイスとは?インターフェイスとは「複数のオブジェクトに関して共通する機能を実装させる」手段です。時計を例にとると、壁掛け時計であっても、腕時計であっても、AppleWatchであっても「時を刻む」という機能があるはずです。新しいデザインの時計を思いついたとしましょう。このNewClockにもやはり「時を刻む」という機能を追加しなければなりません。いった「クラスが実装しなければならない機能を抽象化するもの」がインターフェイスです。JavaでのインターフェイスJavaではこのインターフェイスは予約語(interface)として規定されているので、初心者向けの教本などにも記載があります。簡単なサンプルコードを見てみましょう。時間を刻む処理}}上記のように予約語、interfaceを使い、実装しなければならない機能を宣言します。実装されるクラスでは予約語、implementsに続いて宣言したインターフェイスを記述します。すると、Clockクラスでticktackメソッドが定義されていない場合はコンパイルエラーとなります。C++でのインターフェイスJavaとは異なりC++にはinterfaceという予約語はありません。デザインパターンなどを使用する場合などインターフェイスを利用したい場合は以下のように実装します。時を刻む}virtualキーワードを付与することで、そのメンバ関数は仮想関数となり、派生クラスで再定義を可能にします。0]」の組み合わせは純粋仮想関数と呼ばれます。このように実装することで純粋仮想関数を含むクラスを継承したクラスは純粋仮想関数をオーバーライドしなければオブジェクトの生成ができないようになります。まとめJavaはとても便利なプログラミング言語ですし、利用する機会もほかの言語に比べ比較的多いです。そのためJavaの便利な部分に慣れすぎていると、いざほかの言語をしようしなければならない場合に躓いてしまうこともありそうです。今後の業務は結構長期になりそうなので、C++やMFCについて再度勉強しないといけませんね...。【Boost】Boostライブラリの日付を使ってみよう!先日の記事でBoostをインストールできたのでBoostのライブラリを使って遊んでみましょう。前回に引き続き、C++のプリプロセッサの復習です。前回は#includeと#defineについて記事にしましたが、【まとめ】にも記載の通り、#defineと関連するプリプロセッサは多くあります。その3プログレスバーをマルチスレッドを用いた実装について最後の記事です。スレッド実行中はモーダルダイアログを表示させること。...【MFC入門】メッセージボックスにエラーコードを表示させようライブラリなどを使用していると、戻り値にエラーコードを返す関数は比較的多いです。