私はクラスを定義しました。そのモデルは日付をモデル化しています。データメンバとして日、月、年があります。今度は、等価演算子を作成した日付を比較するプロキシクラスの等価演算子関数の実装方法
bool Date::operator==(const Date&rhs)
{
return (rhs.day()==_day && _month==rhs.month() &&_year==rhs.year());
}
ここで、Dateクラス等価演算子をProxyクラスからどのように呼び出すのですか?
これはこれはこれは私がDateクラス
//--Proxy Class for Date Class
class DateProxy
{
public:
//Default Constructor
DateProxy():_datePtr(new Date)
{}
// return the day of the month
int day() const
{return _datePtr->day();}
// return the month of the year
Month month() const
{return static_cast<Month>(_datePtr->month());}
// return the year
int year() const
{return _datePtr->year();}
bool DateProxy::operator==(DateProxy&rhs)
{
//what do I return here??
}
~DateProxy();
private:
scoped_ptr<Date> _datePtr;
}
//--End of Proxy Class(for Date Class)
の代わりになるプロキシクラスである
//Main Date Class
enum Month
{
January = 1,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December
};
class Date
{
public:
//Default Constructor
Date();
// return the day of the month
int day() const
{return _day;}
// return the month of the year
Month month() const
{return static_cast<Month>(_month);}
// return the year
int year() const
{return _year;}
bool Date::operator==(const Date&rhs)
{
return (rhs.day()==_day && _month==rhs.month() &&_year==rhs.year());
}
~Date();
private:
int _day;
int _month;
int _year;
}
//--END OF DATE main class
Dateクラスで質問
の編集した部分であります
今私が持っている問題は、プロキシクラスで等価演算子関数を実装している、私はホップこれは質問を明確にします。 operator==
参照を取る方法
Date d1, d2;
if(d1 == d2)
// ...
お知らせ:
?私はあなたの質問には何も表示されません...とにかく、あなたのプロキシクラスは、確実にポインタを保持している、またはクラス 'Date'の参照、右ですか?これらの参照日付を比較する際の問題はどこにありますか? – celtschk