读书人

有关操作符重载有关问题

发布时间: 2012-09-12 09:21:30 作者: rapoo

有关操作符重载问题

C/C++ code
//---------------------------------------#ifndef Unit2H#define Unit2H//--------------------------------------#include <iostream>class TimeDL{private:    int m_hours;    int m_minutes;public:    TimeDL();    TimeDL(int h = 0, int m = 0);    void AddMin(int m);    void AddHour(int h);    void Reset(int h = 0, int m = 0);    [color=#FF0000]TimeDL operator +(const TimeDL &t)const;    TimeDL operator +(int h)const; [/color]    TimeDL operator -(const TimeDL &t)const;    TimeDL operator *(int f)const;    friend TimeDL operator *(int f, const TimeDL &t){return t * f;}    friend std::ostream & operator <<(const std::ostream & os, const TimeDL &t);};#endif 

红色部分,编译器错误提示:
[C++ Error] Unit2.cpp(36): E2015 Ambiguity between 'TimeDL::TimeDL()' and 'TimeDL::TimeDL(int,int)'

[解决办法]
函数重载和默认参数的问题。

读书人网 >C++

热点推荐