第27講 クラスの学習その2☆☆
第5話 第4話問題解答例
実行結果
コーティング例
#include<iostream>
using namespace std;
struct Hito{
public:
char* name;
int age,hp,mp;
Hito(char* name,int age,int hp,int mp):name(name),age(age),hp(hp),mp(mp){}
void taberu(){hp+=3;}
void suimin(){mp+=4;}
void tatakau(){hp-=2;mp-=2;}
void sentou(){hp-=5;mp-=4;}
void tositoru(){age++;hp+=5;mp+=4;}
};
class Gakusei :public Hito{
public:
int gakuryoku;
Gakusei(char* name,int age,int hp,int mp,int gakuryoku):Hito(name,age,hp,mp),gakuryoku(gakuryoku){}
void taberu(){hp+=6;}
void suimin(){mp+=7;}
void tatakau(){hp--;mp--;}
void sentou(){hp-=4;mp-=3;}
void benkyou(){gakuryoku+=5;}
void sinkyuu(){gakuryoku+=8;hp+=8;mp+=6;}
};
void main(){
Hito taro("太郎",25,30,35);
cout<<"名前:"<<taro.name<<" 年齢"<<taro.age<<"
HP:"<<taro.hp<<" MP:"<<taro.mp<<endl;
taro.taberu();
taro.suimin();
cout<<"太郎は、食事をして睡眠をとったのでHPとMPが回復した。"<<endl;
cout<<"名前:"<<taro.name<<" 年齢"<<taro.age<<"
HP:"<<taro.hp<<" MP:"<<taro.mp<<endl;
taro.tatakau();
cout<<"太郎は、弱い敵と戦ったのでHPとMPを少し消耗した。"<<endl;
cout<<"名前:"<<taro.name<<" 年齢"<<taro.age<<"
HP:"<<taro.hp<<" MP:"<<taro.mp<<endl;
taro.sentou();
cout<<"太郎は、強い敵と戦ったのでHPとMPをかなり消耗した。"<<endl;
cout<<"名前:"<<taro.name<<" 年齢"<<taro.age<<"
HP:"<<taro.hp<<" MP:"<<taro.mp<<endl;
taro.tositoru();
cout<<"太郎は、年齢が1つ上がったのでHPとMPも増えた。"<<endl;
cout<<"名前:"<<taro.name<<" 年齢"<<taro.age<<"
HP:"<<taro.hp<<" MP:"<<taro.mp<<endl;
cout<<endl;
Gakusei hanako("花子",15,11,15,20);
cout<<"名前:"<<hanako.name<<" 年齢"<<hanako.age<<"
HP:"<<hanako.hp<<" MP:"<<hanako.mp<<"
学力:"<<hanako.gakuryoku<<endl;
hanako.taberu();
hanako.suimin();
hanako.benkyou();
cout<<"花子は、食事をして勉強してから睡眠をとったので、HPとMPが回復し学力が伸びた。"<<endl;
cout<<"名前:"<<hanako.name<<" 年齢"<<hanako.age<<"
HP:"<<hanako.hp<<" MP:"<<hanako.mp<<"
学力:"<<hanako.gakuryoku<<endl;
hanako.tatakau();
cout<<"花子は、弱い敵と戦ったのでHPとMPを少し消耗した。"<<endl;
cout<<"名前:"<<hanako.name<<" 年齢"<<hanako.age<<"
HP:"<<hanako.hp<<" MP:"<<hanako.mp<<"
学力:"<<hanako.gakuryoku<<endl;
hanako.sentou();
cout<<"花子は、強い敵と戦ったのでHPとMPをかなり消耗した。"<<endl;
cout<<"名前:"<<hanako.name<<" 年齢"<<hanako.age<<"
HP:"<<hanako.hp<<" MP:"<<hanako.mp<<"
学力:"<<hanako.gakuryoku<<endl;
hanako.sinkyuu();
cout<<"花子は、進級したのでHP,MP,学力のすべてがかなり増えた。"<<endl;
cout<<"名前:"<<hanako.name<<" 年齢"<<hanako.age<<"
HP:"<<hanako.hp<<" MP:"<<hanako.mp<<"
学力:"<<hanako.gakuryoku<<endl;
}
皆さんは、経験値などフィールドを増やしいろいろ試してみましょう。
また、派生クラスGakuseiから、さらに派生クラスSentouCircle(戦闘サークル)を継承させてみましょう。
戦闘サークルの学生は、もちろん、戦いに長けていてHP、MP、経験値なども大きく、
強い敵との戦いsentou()でのHP・MPの消耗も少なく、得る経験値も大きいと設定しましょう。
第4話へ 第6話へ
VC++講義第1部へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual
Basic入門基礎講座