如何用构造函数来初始化????

 #include<iostream>
using namespace std;
class Date
{
private:
    int year, month, day;
public:
    Date(int y, int m, int d)
    {
        year = y; month = m; day = d;
    }
};
class Time
{
private:
    int hour, minute, second;
public:
    Time(int hour1,int minute1,int second1)
    {
        hour = hour1; minute = minute1; second = second1;
    }
};
class DateTime
{
private:
    Date date; // 数据成员为Date类的对象
    Time time; // 数据成员为Time类的对象
public:
    DateTime(int y, int m, int d) : date(y, m, d):time(y,m,d)
    //这里错了怎么弄
    {
        cout << this << "......" << endl;
    }
};
int main()
{
    DateTime dt(2014, 3, 24);
    return 0;
}

DateTime(int y, int m, int d) : date(y, m, d):time(y,m,d)
第二个冒号改为逗号

嗯嗯,改了,行了,谢谢

#include<iostream>
using namespace std;
class Date
{
private:
    int year, month, day;
public:
    Date(int y, int m, int d)
    {
        year = y; month = m; day = d;
    }
};
class Time
{
private:
    int hour, minute, second;
public:
    Time(int hour1, int minute1, int second1)
    {
        hour = hour1; minute = minute1; second = second1;
    }
};

class DateTime
{
    //说明:
    //  如果数据成员是类的对象的话,那么只能在定义时初始化,或者另外定义初始化函数来做。
    //  最好的办法是将数据成员定义为类的对象的指针,那么直接可以用new来初始化。
private:
    Date *date; // 数据成员为Date类的对象
    Time *time; // 数据成员为Time类的对象
public:
    DateTime(int y, int m, int d) 
    {
        date = new Date(y, m, d);
        time = new Time(0, 0, 0);
        cout << this << "......" << endl;
    }
    ~DateTime()
    {
        delete date;
        delete time;
    }
};
int main()
{
    DateTime dt(2014, 3, 24);
    return 0;
}