如何在cpp的结构中添加用户定义的数据类型,如日期/时间?

时间:2015-07-19 10:06:52

标签: datetime user-defined-types

我做了一个Date类。它正确地输入和显示输出。但是我如何在结构中使用这个类。因为数据实际上保存在变量y,m,d

1 个答案:

答案 0 :(得分:0)

由于显而易见,只需将名称放在结构中,我猜你对如何调用构造函数来初始化事物感到困惑。由于类实际上是一个结构,因此struct初始化程序将调用嵌入类的构造函数。这是一个例子。

#include <iostream>

using namespace std;

class Date_Time
{
public:
  int Date;
  int Time;

  Date_Time(const int date, const int time)
  {
    Date = date;
    Time = time;
  };
};

int main() {
  struct state {
    Date_Time dt;
  } st = {{5, 6}};
  cout << "Date: " << st.dt.Date << endl;
  cout << "Time: " << st.dt.Time << endl;
}

我编译:

g++ -std=c++0x foo.cpp

另一种方法是在结构中放置一个指向类的指针,并用new初始化它。