构造函数说明

时间:2014-05-04 14:37:24

标签: c++ constructor

我有简单的课程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){};究竟是什么意思。 有人可以解释这部分代码,并告诉我是否可以像这样编写它。

0 个答案:

没有答案