a_10_6.cpp

来自「C++应用教程原码,里面包含该书中有十三章内容的代码,详细具体」· C++ 代码 · 共 53 行

CPP
53
字号
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
class Date { 
  public:
    Date():year(0),month(0),day(0){}
    friend ostream& operator << (ostream&, Date&);
	friend istream& operator >> (istream&, Date&);
  private:
	int year,month,day;
};
ostream& operator << (ostream& out, Date& date)
{  out << date.year << "年" << date.month << "月" << date.day << "日"<<endl;
   return out;
}
istream& operator >> (istream& in, Date &date)
{ cout << "输入年份:";
  in >> date.year;
  while ( !in)
  { in.clear();
    in.ignore(90,'\n');
    cout << "输入错误,请重新输入年份:";
    in >> date.year;
  }
  cout << "输入月份:";
  in >> date.month;
  while ( !in||(date.month>12)||(date.month<=0))
  { in.clear();
    in.ignore(90,'\n');
    cout << "输入错误,请重新输入月份:";
    in >> date.month;
  }
  cout << "输入日期:";
  in >> date.day;
  while ( !in||(date.day>31)||(date.day<=0))
  { in.clear();
    in.ignore(900,'\n');
    cout << "输入错误,请重新输入日期:";
    in >> date.day;
  }
  return in;
}
void main()
{ Date date1;
  cin >> date1;
  cout << date1;
  cin.get(); cin.get(); //等待结束,以便调测程序,可以删除
}



⌨️ 快捷键说明

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