idate.h
Upload User: puke2000
Upload Date: 2022-07-25
Package Size: 912k
Code Size: 1k
Category:

CSharp

Development Platform:

Visual C++

  1. //=====================================
  2. // idate.h
  3. //=====================================
  4. #include<iostream>
  5. //-------------------------------------
  6. class IDate{
  7. protected:
  8.   virtual int ymd2i()const = 0;
  9. public:
  10.   virtual ~IDate(){}
  11.   virtual IDate& operator+(int n) = 0;
  12.   int operator-(const IDate& d){ return ymd2i() - d.ymd2i(); }
  13.   virtual IDate& operator+=(int n) = 0;
  14.   virtual IDate& operator++() = 0;
  15.   virtual void print(std::ostream& o)const = 0;
  16. };//-----------------------------------
  17. IDate& createDate(int y, int m, int d);
  18. IDate& createDate(int n);
  19. IDate& createDate(const std::string s);
  20. //-------------------------------------
  21. inline std::ostream& operator<<(std::ostream& o, const IDate& d){
  22.   d.print(o); return o;
  23. }//------------------------------------
  24.