实例化时结构字段中的默认值

Default value in struct field when instance it

我刚开始学习C++。

我有这个struct:

struct dateTime
{
    int sec;
    int min;
    int hour;
    int day;
    int mon;
    int year;
    bool daylightSaving;
    char timeZone;
};

并且我需要将 daylightSaving 默认设置为 false。

我该怎么做?也许我必须使用 class 而不是 struct.

你可以这样写

struct dateTime
{
    int sec;
    int min;
    int hour;
    int day;
    int mon;
    int year;
    bool daylightSaving = false;
    char timeZone;
};

所以你说在 C++ 中,有一个初始化所有值的默认构造函数怎么样?

struct dateTime
{
 dateTime()
 : sec(0)
 , min(0)
 , hour(0)
 , day(0)
 , mon(0)
 , year(0)
 , daylightSaving(false)
 , timeZone('a') //Are you sure you just want one character? time zones have multiple... UTC GMT ...
 {}

...
}

您可以使用 class 代替,但区别仅在于默认情况下所有值都是私有的。所以你需要

class ...
{
   public:
   ...
}

具有与结构相同的行为。