C++でのリロード方法
1774 ワード
一:重荷目的
オブジェクトをIO操作するために.
二:実現方法
1、メンバー関数で実装
2,一般関数で実現
上記のコードでは、クラスに再ロードしました<
出力結果は何ですか?
******************************
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<
<
これに基づいて、このような重荷は非常に人間的ではなく、人々の習慣との出入りが大きすぎて、使用しないことをお勧めします.
オブジェクトを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<
<
これに基づいて、このような重荷は非常に人間的ではなく、人々の習慣との出入りが大きすぎて、使用しないことをお勧めします.