#include<stdio.h>
#pragma warning(disable:4996)
class CTest{
public:
virtual void base(void);
virtual void InputData(void);
virtual void OutputData(void);
int atk;
int def;
int spd;
};
class Enemy :public CTest{
void base(void);
void InputData(void);
void OutputData(void);
};
class Human :public CTest{
void base(void);
void InputData(void);
void OutputData(void);
};
void CTest::base(void){
}
void Enemy::base(void){
printf("敵\n");
}
void Human::base(void){
printf("人\n");
}
void CTest::InputData(void){
}
void Enemy::InputData(void){
printf("攻撃入力==>");
scanf("%d", &atk);
printf("防御入力==>");
scanf("%d", &def);
printf("速さ入力==>");
scanf("%d", &spd);
printf("\n");
}
void Human::InputData(void){
printf("攻撃入力==>");
scanf("%d", &atk);
printf("防御入力==>");
scanf("%d", &def);
printf("速さ入力==>");
scanf("%d", &spd);
printf("\n");
}
void CTest::OutputData(void){
}
void Enemy::OutputData(void){
printf("攻撃:%d\n", atk);
printf("守備:%d\n", def);
printf("速さ:%d\n", spd);
printf("\n");
}
void Human::OutputData(void){
printf("攻撃:%d\n", atk);
printf("守備:%d\n", def);
printf("速さ:%d\n", spd);
printf("\n");
}
int main(void){
CTest *pt[3];
pt[0] = new CTest;
pt[1] = new Enemy;//敵
pt[2] = new Human;//人
int count;
for (int i = 0; i<3; i++){
printf("1:敵 2:人どちらですか?==>");
scanf("%d", &count);
pt[count]->base();
pt[count]->InputData();
}
for (int i = 0; i < 3;i++)
pt[count]->base();
pt[count]->OutputData();
return 0;
}
入力した値が正常に3人分出力されるプログラムを教えてください