/****************************/ /* 継承(フレームの表現) */ /* 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; }
no yes 体重は 67.500000 Kgです