我有简单的课程CDate
:
class CDate
{
public:
CDate( int year, int month ){
y = year;
m = month;
};
private:
int y, m;
};
现在我想上课CMyClass,所以我尝试了:
class CMyClass
{
public:
CMyClass ( const CDate & date ){
mydate = date;
};
// operator= ...
CMyClass( const CMyClass& rhs ){
mydate = rhs.mydate;
}
private:
CDate mydate;
};
我错过了operator=
错误,但错过了构造函数CDate()
给了我错误,让我感到惊讶。 CDate()
在哪里被召唤?
我修复了:
class CMyClass
{
public:
CMyClass ( const CDate & date ):mydate(date){};
// operator= ...
CMyClass( const CMyClass& rhs ):mydate(mydate){};
private:
CDate mydate;
};
但我不知道CMyClass ( const CDate & date ):mydate(date){};
究竟是什么意思。
有人可以解释这部分代码,并告诉我是否可以像这样编写它。