C++ 重载输出符号

来源:互联网 发布:淘宝c店运营提成 编辑:程序博客网 时间:2024/06/12 01:24

1 C++ 重载输出符号.cpp

#include<iostream>using namespace std; struct Date{    int year,month,day;    Date()=default;    Date(int y,int m, int d)        :year(y),month(m),day(d){}    ~Date(){}    Date operator++(int i)    {        Date tmp;        tmp.year = year;        tmp.month = month;        tmp.day = day;        switch(month)        {        case 1:case 3:case 5:case 7:        case 8:case 10:            if(day == 31){                day =1;                month++;            }else                day++;            break;        case 4:case 6:case 9:case 11:            if(day == 30){                day=1;                month++;            }else                day++;            break;        case 12:            if(day == 31){                day =1;                month=1;                year++;            }else                day++;            break;        case 2:            if(year %4==0 && year%100 !=0 || year %400 ==0){                if(day == 29){                    day =1;                    month++;                }else                    day++;            }else{                if(day == 28){                    day =1;                    month++;                }else                    day++;            }            break;        default:            break;        }        return *this;    }friend ostream & operator<<(ostream &cout, Date d); };ostream & operator<<(ostream &cout, Date d){    cout<<d.year<<"-"<<d.month<<"-"<<d.day;    return cout;}/*ostream cout;cout<<d1<<d2<<d3;ostream{    operator<<(int);    operator<<(string);    operator<<(Date){...}};*/int main(){    Date d1(2015,8,31);    d1++;    cout<<d1<<endl;}
0 0
原创粉丝点击