这是一个程序,用于转换具有包含日期的字符串的对象和具有 3 个整数的另一个对象:日期、月份和年份。
class date
{
private:
char dt[9];
public:
//constructors and functions....
};
class dmy
{
private:
int day,mth,yr;
public:
//constructors..
operator date() // This is what my question is about
{
char temp[3],str[9]
itoa(day,str,10)
strcat(str,"/");
itoa(mth,temp,10);
strcat(str,temp)
strcat(str,"/");
itoa(yr,temp,10);
strcat(str,temp);
return (date(str));
}
};
int main
{
date d1;
dmy d2(17,11,94);
d1=d2;
//display d1's and d2's data
return 0;
}
我的困惑在于操作员 date() 部分。日期怎么可能是运营商?不应该重载 = 运算符来执行此转换吗?