我有一个Date类,它定义了一个对日期进行建模的模型,它具有作为数据成员的日,月和年。现在比较一下我创建相等运算符的日期

bool Date::operator==(const Date&rhs)
{
    return (rhs.day()==_day && _month==rhs.month() &&_year==rhs.year());
}


现在如何从Proxy类中调用Date类相等运算符...?



这是问题的编辑部分

这是日期类

//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类的代理类

//--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)


现在我遇到的问题是在代理类中实现相等运算符功能,我希望这可以澄清问题。

最佳答案

return *_datePtr == *_rhs.datePtr;

10-08 01:15