如何在 cpp 的结构中添加用户定义的数据类型,例如 date/time?
How to add User defined data type such as date/time in structure in cpp?
我已经约会了 class。它接受输入并正确显示输出。但是我如何在结构中使用这个class。因为数据实际上是保存在变量y,m,d中
因为 how 很明显,只需将名称放在结构中,我猜你对如何调用构造函数来初始化它感到困惑。由于 class 实际上是一个结构,因此结构初始化器将调用嵌入的 class 的构造函数。这是一个例子。
#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
另一种方法是在结构中放置一个指向 class 的指针,并用 new
.
对其进行初始化
我已经约会了 class。它接受输入并正确显示输出。但是我如何在结构中使用这个class。因为数据实际上是保存在变量y,m,d中
因为 how 很明显,只需将名称放在结构中,我猜你对如何调用构造函数来初始化它感到困惑。由于 class 实际上是一个结构,因此结构初始化器将调用嵌入的 class 的构造函数。这是一个例子。
#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
另一种方法是在结构中放置一个指向 class 的指针,并用 new
.