C++でのリロード方法

1774 ワード

一:重荷目的
オブジェクトをIO操作するために.
二:実現方法
1、メンバー関数で実装
2,一般関数で実現
#include 
#include
#include
using namespace std;
class Date
{
public:
    int day;
    int month;
    int year;

    string DateInString;
public:
    Date(int inputDay,int inputMonth,int inputYear):day(inputDay),month(inputMonth),year(inputYear){}
    //prefix
    Date& operator ++()
    {
        ++day;
        return *this;
    }
    Date& operator --()
    {
        --day;
        return *this;
    }
    //postfix
    Date operator ++(int)
    {
        Date Copy(day,month,year);
        ++day;
        return Copy;
    }
    Date& operator --(int)
    {
        --day;
        return *this;
    }
    void display()
    {
        cout<day<month<year<day<month<year<

上記のコードでは、クラスに再ロードしました<
出力結果は何ですか?
******************************
16/4/2016 Aha, I am One! 10/4/2016 Aha, I am Three!
******************************
operator const char*()という関数が呼び出されていないことを説明します.なぜですか.グローバル関数void operator<
もし私がグローバル関数を注釈したらどうなりますか?
結果を先に見る
******************************
16/4/2016 Aha, I am One! Aha, I am Two! 10/4/2016
******************************
説明、(*p 1)<
operator<
<
これに基づいて、このような重荷は非常に人間的ではなく、人々の習慣との出入りが大きすぎて、使用しないことをお勧めします.