Advertisement
nigatigga

Ship Header file

May 26th, 2014
581
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.30 KB | None | 0 0
  1. //
  2. // Ship.h
  3. //
  4.  
  5. #ifndef SHIP_H
  6. #define SHIP_H
  7. class Ship
  8. {
  9.   public:
  10.     virtual ~Ship(void) {}
  11.     virtual const char *name(void) const = 0;
  12.     virtual int size(void) const = 0;
  13.     int getX(int i) const;
  14.     int getY(int i) const;
  15.     void print(void) const;
  16.     bool includes(int x, int y);
  17.     int level(void) const;
  18.     void decreaseLevel(void);
  19.     static Ship *makeShip(char ch, int x1, int y1, int x2, int y2);
  20.   protected:
  21.     void setPos(int a1, int b1, int a2, int b2);
  22.     int lev;
  23.   private:
  24.     bool checkConfig(int x1, int y1, int x2, int y2);
  25.     int x1,y1,x2,y2;
  26. };
  27.  
  28. class AircraftCarrier : public Ship
  29. {
  30.   public:
  31.     AircraftCarrier(int x1, int y1, int x2, int y2);
  32.     virtual const char *name(void) const;
  33.     virtual int size(void) const;
  34. };
  35.  
  36. class BattleShip: public Ship
  37. {
  38.   public:
  39.     BattleShip(int x1, int y1, int x2, int y2);
  40.     virtual const char *name(void) const;
  41.     virtual int size(void) const;
  42. };
  43.  
  44. class Cruiser: public Ship
  45. {
  46.   public:
  47.     Cruiser(int x1, int y1, int x2, int y2);
  48.     virtual const char *name(void) const;
  49.     virtual int size(void) const;
  50. };
  51.  
  52. class Destroyer: public Ship
  53. {
  54.   public:
  55.     Destroyer(int x1, int y1, int x2, int y2);
  56.     virtual const char *name(void) const;
  57.     virtual int size(void) const;
  58. };
  59. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement