我在这里面临着一个相对棘手的情况,乍一看似乎很容易。将这三个成员从父类移动Parent到其子类后Child,我似乎不再能够利用默认构造函数。
为什么?有没有办法无需专门实现 Child(...) 构造函数。乍一看似乎违反直觉......实际上我认为第一个示例是它失败的地方(认为子类的构造函数会掩盖其父类的构造函数)。
struct Parent
{
std::string mText;
int mInt;
bool mBool;
};
struct Child : public Parent
{
};
Child test{ "", 0, false}; // Compiles
Run Code Online (Sandbox Code Playgroud)
但在后一种情况下,如果在子类中定义了成员,则不会创建默认构造函数。
struct Parent
{
};
struct Child : public Parent
{
std::string mText;
int mInt;
bool mBool;
};
Child test{ "", 0, false}; // error C2078: too many initializers
Run Code Online (Sandbox Code Playgroud) c++ inheritance initialization initializer-list aggregate-initialization
我的jenkins工作在工作空间中创建了一个临时子文件夹,比如"mydir",然后我想使用postbuild步骤"存档工件"进行存档.
我正在使用以下命令:
mydir/**/*
Run Code Online (Sandbox Code Playgroud)
它运行良好,但存档将始终包含mydir作为工件的根,而我想只有这个文件夹的内容.
这该怎么做?