Cpp クラス 継承 新しいページはコチラ
提供: yonewiki
(→クラス 継承) |
(→クラス 継承) |
||
91行: | 91行: | ||
− | + | と上記のようなメインクラスでの利用をすれば、合計金額が表示されます。これに派生クラスを作りましょう。イメージとしては、この毎月の支払にオプションの利用料金が取られることを考えたようなクラスにしましょう。毎月毎月発生する金額を計算するということが根底にあって、その上にオプション料金を計算するという機能を付け足すので一応継承した感じにしました。ですが、簡単に言えば、合計金額にオプションの金額を足して表示するだけです。機能は何も利用しないので、おそろしくダメな継承ですね。基底クラスになった場合にコンストラクタの派生したクラスの引数側で呼び出すカタチが異なってもいいように、引数無しの何もしないコンストラクタを準備しておきました。 | |
− | + | 勉強だし、簡単なので、やってみましょう。まずは派生させたヘッダファイルを作ります。 | |
130行: | 130行: | ||
− | メインプログラムのファイル名は何でも良いので、InheritanceMain.cppという名前のファイルにmain関数を置きました。main関数はなんでmainという名前なの?とかwmainって何とか、試しに一度Windowsアプリのプロジェクトを作ったら自動で作られたプログラムのmain関数にあたる部分がなぜかWinMainという名前になってmainという名前が使えなかったことがあるという人は[[VC PlusPlus:サブシステムとエントリポイント]]にmain関数の名前を変えることができるという内容の文献があります。main.cppという名前だったり、プロジェクト名と同じだったり、好きなファイル名にするといいと思います。Consoleアプリプロジェクトの規定値としてはVisualStudioC++ | + | メインプログラムのファイル名は何でも良いので、InheritanceMain.cppという名前のファイルにmain関数を置きました。main関数はなんでmainという名前なの?とかwmainって何とか、試しに一度Windowsアプリのプロジェクトを作ったら自動で作られたプログラムのmain関数にあたる部分がなぜかWinMainという名前になってmainという名前が使えなかったことがあるという人は[[VC PlusPlus:サブシステムとエントリポイント]]にmain関数の名前を変えることができるという内容の文献があります。main.cppという名前だったり、プロジェクト名と同じだったり、好きなファイル名にするといいと思います。Consoleアプリプロジェクトの規定値としてはVisualStudioC++のコンパイラはプロジェクトに置かれたプログラムファイル群からmainという名前の関数を探して、探し出したmain関数から始まるプログラムとして、解釈してくれます。リンク先の記事のように名前を変えることも出来るので、気に入らない人は、替えてみるのもよいですね。 |
+ | |||
+ | メンバ変数の利用用途 | ||
+ | *m_iOptionMoney:オプションで追加購入したものの金額を覚えるものです。最初のコンストラクタで、1つしか、int型の値を受け取らないので、一つしかオプションは買えないっす。 | ||
+ | *m_iDeriveMoney: オプションも含めた合計金額を覚えます。基底の基本料金+利用月の合計に上乗せして計算する新しい機能の変数って感じはします。 | ||