第27講 クラスの学習その2☆☆
第6話 派生クラスの継承クラス
コーティング例
#include<iostream>
using namespace std;
struct Hito{
public:
char* name;
int age,hp,mp,keikenti;
Hito(char* name,int age,int hp,int mp,int keikenti):name(name),age(age),hp(hp),mp(mp),keikenti(keikenti){}
void taberu(){hp+=3;}
void suimin(){mp+=4;}
void tatakau(){hp-=2;mp-=2;keikenti+=2;}
void sentou(){hp-=5;mp-=4;keikenti+=5;}
void tositoru(){age++;hp+=5;mp+=4;keikenti+=4;}
};
class Gakusei :public Hito{
public:
int gakuryoku;
Gakusei(char* name,int age,int hp,int mp,int keikenti,int gakuryoku):Hito(name,age,hp,mp,keikenti),gakuryoku(gakuryoku){}
void taberu(){hp+=6;}
void suimin(){mp+=7;}
void tatakau(){hp--;mp--;keikenti+=3;}
void sentou(){hp-=4;mp-=3;keikenti+=6;}
void benkyou(){gakuryoku+=5;}
void sinkyuu(){gakuryoku+=8;hp+=8;mp+=6;keikenti+=6;}
};
class SentouCircle :public Gakusei{
public:
SentouCircle(char* name,int age,int hp,int mp,int keikenti,int gakuryoku):Gakusei(name,age,hp,mp,keikenti,gakuryoku){}
void taberu(){hp+=8;}
void suimin(){mp+=10;}
void tatakau(){hp--;mp--;keikenti+=10;}
void sentou(){hp-=2;mp-=2;keikenti+=20;}
void benkyou(){gakuryoku+=5;}
void sinkyuu(){gakuryoku+=12;hp+=13;mp+=12;keikenti+=10;}
};
void main(){
Hito taro("太郎",25,30,35,100);
cout<<"名前:"<<taro.name<<" 年齢"<<taro.age<<"
HP:"<<taro.hp<<" MP:"<<taro.mp<<"
経験値:"<<taro.keikenti<<endl;
taro.taberu();
taro.suimin();
cout<<"太郎は、食事をして睡眠をとったのでHPとMPが回復した。"<<" 経験値:"<<taro.keikenti<<endl;
cout<<"名前:"<<taro.name<<" 年齢"<<taro.age<<"
HP:"<<taro.hp<<" MP:"<<taro.mp<<"
経験値:"<<taro.keikenti<<endl;
taro.tatakau();
cout<<"太郎は、弱い敵と戦ったのでHPとMPを少し消耗した。"<<" 経験値:"<<taro.keikenti<<endl;
cout<<"名前:"<<taro.name<<" 年齢"<<taro.age<<"
HP:"<<taro.hp<<" MP:"<<taro.mp<<"
経験値:"<<taro.keikenti<<endl;
taro.sentou();
cout<<"太郎は、強い敵と戦ったのでHPとMPをかなり消耗した。"<<" 経験値:"<<taro.keikenti<<endl;
cout<<"名前:"<<taro.name<<" 年齢"<<taro.age<<"
HP:"<<taro.hp<<" MP:"<<taro.mp<<"
経験値:"<<taro.keikenti<<endl;
taro.tositoru();
cout<<"太郎は、年齢が1つ上がったのでHPとMPも増えた。"<<" 経験値:"<<taro.keikenti<<endl;
cout<<"名前:"<<taro.name<<" 年齢"<<taro.age<<"
HP:"<<taro.hp<<" MP:"<<taro.mp<<"
経験値:"<<taro.keikenti<<endl;
cout<<endl;
Gakusei hanako("花子",15,11,15,50,20);
cout<<"名前:"<<hanako.name<<" 年齢"<<hanako.age<<"
HP:"<<hanako.hp<<" MP:"<<hanako.mp<<"
学力:"<<hanako.gakuryoku<<" 経験値:"<<hanako.keikenti<<endl;
hanako.taberu();
hanako.suimin();
hanako.benkyou();
cout<<"花子は、食事をして勉強してから睡眠をとったので、HPとMPが回復し学力が伸びた。"<<"
経験値:"<<hanako.keikenti<<endl;
cout<<"名前:"<<hanako.name<<" 年齢"<<hanako.age<<"
HP:"<<hanako.hp<<" MP:"<<hanako.mp<<"
学力:"<<hanako.gakuryoku<<" 経験値:"<<hanako.keikenti<<endl;
hanako.tatakau();
cout<<"花子は、弱い敵と戦ったのでHPとMPを少し消耗した。"<<endl;
cout<<"名前:"<<hanako.name<<" 年齢"<<hanako.age<<"
HP:"<<hanako.hp<<" MP:"<<hanako.mp<<"
学力:"<<hanako.gakuryoku<<" 経験値:"<<hanako.keikenti<<endl;
hanako.sentou();
cout<<"花子は、強い敵と戦ったのでHPとMPをかなり消耗した。"<<endl;
cout<<"名前:"<<hanako.name<<" 年齢"<<hanako.age<<"
HP:"<<hanako.hp<<" MP:"<<hanako.mp<<"
学力:"<<hanako.gakuryoku<<" 経験値:"<<hanako.keikenti<<endl;
hanako.sinkyuu();
cout<<"花子は、進級したのでHP,MP,学力のすべてがかなり増えた。"<<endl;
cout<<"名前:"<<hanako.name<<" 年齢"<<hanako.age<<"
HP:"<<hanako.hp<<" MP:"<<hanako.mp<<"
学力:"<<hanako.gakuryoku<<" 経験値:"<<hanako.keikenti<<endl;
cout<<endl;
SentouCircle jiro("次郎",16,21,35,60,30);
cout<<"名前:"<<jiro.name<<" 年齢"<<jiro.age<<"
HP:"<<jiro.hp<<" MP:"<<jiro.mp<<"
学力:"<<jiro.gakuryoku<<" 経験値:"<<jiro.keikenti<<endl;
jiro.taberu();
jiro.suimin();
jiro.benkyou();
cout<<"次郎は、食事をして勉強してから睡眠をとったので、HPとMPが回復し学力が伸びた。"<<endl;
cout<<"名前:"<<jiro.name<<" 年齢"<<jiro.age<<"
HP:"<<jiro.hp<<" MP:"<<jiro.mp<<"
学力:"<<jiro.gakuryoku<<" 経験値:"<<jiro.keikenti<<endl;
jiro.tatakau();
cout<<"次郎は、弱い敵と戦ったのでHPとMPを少し消耗した。"<<" 経験値:"<<jiro.keikenti<<endl;
cout<<"名前:"<<jiro.name<<" 年齢"<<jiro.age<<"
HP:"<<jiro.hp<<" MP:"<<jiro.mp<<"
学力:"<<jiro.gakuryoku<<" 経験値:"<<jiro.keikenti<<endl;
jiro.sentou();
cout<<"次郎は、強い敵と戦ったのでHPとMPをかなり消耗した。"<<" 経験値:"<<jiro.keikenti<<endl;
cout<<"名前:"<<jiro.name<<" 年齢"<<jiro.age<<"
HP:"<<jiro.hp<<" MP:"<<jiro.mp<<"
学力:"<<jiro.gakuryoku<<" 経験値:"<<jiro.keikenti<<endl;
jiro.sinkyuu();
cout<<"次郎は、進級したのでHP,MP,学力のすべてがかなり増えた。"<<endl;
cout<<"名前:"<<jiro.name<<" 年齢"<<jiro.age<<"
HP:"<<jiro.hp<<" MP:"<<jiro.mp<<"
学力:"<<jiro.gakuryoku<<" 経験値:"<<jiro.keikenti<<endl;
cout<<endl;
SentouCircle youko("陽子",17,25,42,72,43);
cout<<"名前:"<<youko.name<<" 年齢"<<youko.age<<"
HP:"<<youko.hp<<" MP:"<<youko.mp<<"
学力:"<<youko.gakuryoku<<" 経験値:"<<youko.keikenti<<endl;
youko.taberu();
youko.suimin();
youko.benkyou();
cout<<"陽子は、食事をして勉強してから睡眠をとったので、HPとMPが回復し学力が伸びた。"<<endl;
cout<<"名前:"<<youko.name<<" 年齢"<<youko.age<<"
HP:"<<youko.hp<<" MP:"<<youko.mp<<"
学力:"<<youko.gakuryoku<<" 経験値:"<<youko.keikenti<<endl;
youko.tatakau();
cout<<"陽子は、弱い敵と戦ったのでHPとMPを少し消耗した。"<<" 経験値:"<<youko.keikenti<<endl;
cout<<"名前:"<<youko.name<<" 年齢"<<youko.age<<"
HP:"<<youko.hp<<" MP:"<<youko.mp<<"
学力:"<<youko.gakuryoku<<" 経験値:"<<youko.keikenti<<endl;
youko.sentou();
cout<<"陽子は、強い敵と戦ったのでHPとMPをかなり消耗した。"<<" 経験値:"<<youko.keikenti<<endl;
cout<<"名前:"<<youko.name<<" 年齢"<<youko.age<<"
HP:"<<youko.hp<<" MP:"<<youko.mp<<"
学力:"<<youko.gakuryoku<<" 経験値:"<<youko.keikenti<<endl;
youko.sinkyuu();
cout<<"陽子は、進級したのでHP,MP,学力のすべてがかなり増えた。"<<"
経験値:"<<youko.keikenti<<endl;
cout<<"名前:"<<youko.name<<" 年齢"<<youko.age<<"
HP:"<<youko.hp<<" MP:"<<youko.mp<<"
学力:"<<youko.gakuryoku<<" 経験値:"<<youko.keikenti<<endl;
}
実行結果
第5話へ 第28講第1話へ
VC++講義第1部へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual
Basic入門基礎講座