小编use*_*414的帖子

子构造函数使用祖父构造函数

我有以下带有虚拟GrandParent和非虚拟的Parent类层次结构Child

\n
class GrandParent {\nprotected:\n    explicit GrandParent(const float &max_dur);\n    virtual ~GrandParent() {}\n\nprivate:\n    const float _max_dur;\n};\n\nclass Parent : public virtual GrandParent {\npublic:\n    explicit Parent(const float &max_dur = 0);\n};\n\nclass Child : public Parent {\npublic:\n    explicit Child(const float &max_dur = 0);\n};\n
Run Code Online (Sandbox Code Playgroud)\n

它们的构造函数是这样嵌套的:

\n
// GrandParent constructor\nGrandParent::GrandParent(const float &max_dur)\n    : _max_dur{max_dur} {}\n\n// Use GrandParent constructor\nParent::Parent(const float &max_dur)\n    : GrandParent{max_dur} {}\n\n// Use Parent constructor\nChild::Child(const float &max_dur)\n    : Parent{max_dur} {}                        // <- error occurs here\n
Run Code Online (Sandbox Code Playgroud)\n

当我构建时,我收到以下错误消息:

\n
error: …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance

4
推荐指数
1
解决办法
537
查看次数

条件三元运算符中的模

在 C++ 中,有人写了以下内容:

player = (player % 2) ? 1 : 2;
Run Code Online (Sandbox Code Playgroud)

从我读过的内容来看,如果括号内的条件为真,变量“player”将评估为 1,但这似乎不是一个可以为真或为假的条件。

c++

0
推荐指数
1
解决办法
993
查看次数

标签 统计

c++ ×2

inheritance ×1