houses.h

来自「Data Structures with C++附代码」· C头文件 代码 · 共 81 行

H
81
字号
#include "strclass.h"

// base class for house painting hierarchy
class House
{
   private:
      String id;        // id for House
   public:
      // constructor. initialize id to "House"
      House(void)
      {
         id = "House";
      }
      
      // virtual method.   prints the string "House"
      virtual void Paint(void)
      {
         cout << id;
      }
};

class WoodFrameHouse: public House
{
   private:
      // id for WoodFrameHouse
      String id;
   public:
      // constructor. assign id = "Wood Frame"
      WoodFrameHouse(void): House()
      {
         id = "Wood Frame";
      }
      
      // virtual method. print id and call Paint in base class
      virtual void Paint(void)
      {
         cout << "Painting a " << id << " ";
         House::Paint();
      }
};

class StuccoHouse: public House
{
   private:
      // id for StuccoHouse
      String id;
   public:
      // constructor. assign id = "Stucco"
      StuccoHouse(void): House()
      {
         id = "Stucco";
      }
      
      // virtual method. print id and call Paint in base class
      virtual void Paint(void)
      {
         cout << "Painting a " << id << " ";
         House::Paint();
      }
};

class VinylSidedHouse: public House
{
   private:
      // id for VinylSidedHouse
      String id;
   public:
      // constructor. assign id = "Vinyl Sided"
      VinylSidedHouse(void): House()
      {
         id = "Vinyl Sided";
      }
      
      // virtual method. print id and call Paint in base class
      virtual void Paint(void)
      {
         cout << "Painting a " << id << " ";
         House::Paint();
      }
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?