#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;
}