/****************************/
/* 継承(フレームの表現) */
/* coded by Y.Suganuma */
/****************************/
#include <stdio.h>
/**********************/
/* クラスAnimalの定義 */
/**********************/
class Animal { /* 動物フレーム */
protected:
int ani; // 生物:0,その他:1
int ox; // 酸素呼吸:0,その他:1
public:
Animal(int k1, int k2) // コンストラクタ
{
ani = k1;
ox = k2;
}
void shu(int sw) // 生物か否かに答える
{
if (ani == sw)
printf("yes\n");
else
printf("no\n");
}
};
/*********************/
/* クラスHumanの定義 */
/*********************/
class Human : public Animal { /* 人間フレーム,クラスAnimalを継承 */
protected:
int height; // 身長
double weight; // 体重
public:
Human(int x, int y) : Animal(x, y) {} // コンストラクタ
void taiju() // 体重を返す関数
{
printf("体重は %f Kgです\n", weight);
}
};
/********************/
/* クラスTaroの定義 */
/********************/
class Taro : public Human { /* 太郎フレーム,クラスHumanを継承 */
public:
Taro(int hei = 0, double wei = 0.0) : Human(0, 0) // コンストラクタ
{
height = (hei == 0) ? 170 : hei;
weight = (wei == 0.0) ? 0.9 * (height - 100) : wei;
}
};
/************/
/* main関数 */
/************/
int main()
{
Human h1(0, 0);
Taro t1(175);
h1.shu(1); // 人間は生物ではない?
t1.shu(0); // 太郎は生物?
t1.taiju(); // 太郎の体重は?
return 0;
}