==== 練習問題 ==== #include class vehicle { float nenpi;//燃費 float fuel;//燃料 public: vehicle() {/*省略*/ }; ~vehicle() {/*省略*/ }; virtual void Run() {/*省略*/ }; //走る virtual void Stop() {/*省略*/ }; //止まる virtual void Turn() {/*省略*/ }; //曲がる }; class DumpTruck : public vehicle { float loadWeight;//積載量 public: DumpTruck() {/*省略*/ }; ~DumpTruck() {/*省略*/ }; void Run() {/*省略*/ }; void Stop() {/*省略*/ }; void Turn() {/*省略*/ }; void Dump() {/*省略*/ };//ダンプカーで土を捨てる }; class Bulldozer : public vehicle { float bladeWidth;//ブレード幅 public: Bulldozer() {}; ~Bulldozer() {}; void Run() {/*省略*/ }; void Stop() {/*省略*/ }; void Turn() {/*省略*/ }; void BullDoze() {/*省略*/ }; //ブルドーザーで土を押す }; using namespace std; int main() { //ごにょごにょ return 0; } === 問題 1 === ① DumpTruckクラスのメンバ関数 Run() を以下の様に書こうと思ったら、vehcleクラスを継承しているはずなのに。エラーが出ました。 どうしてですか? void DumpTruck::Run() { fuel -= 10; }; ② 上のエラーを修正するには、どうするのがよさそうですか?(授業で習った方法で!) === 問題 2 === ①その1 mainに\\ DumpTruck型\\ BullDozer型\\ オブジェクトをひとつづつ作りなさい。 また、このオブジェクト=クラスの実体の事を何と呼ぶか答えなさい。\\ ②その2 mainに、\\ DumpTruck型\\ BullDozer型\\ オブジェクトのオブジェクトへのポインタ変数をそれぞれ1個ずつつくり、何も指さないポインタで初期化しなさい。\\ ③その3 ②でつくったポインタ変数に対して、 DumpTruck型のクラスの実体\\ BullDozer型のクラスの実体\\ を、動的に確保してそのアドレスをポインタ変数に代入しなさい。\\ ④その4 ②でプログラムを動かしたときは、vehcle型のデストラクタ、それを継承したクラスのデストラクタもよばれたけど、③では呼ばれませんでした。 どうしてでしょうか? どうしたら、デストラクタ呼べますか?