如何在 header 中为 child 和 parent class 指定构造函数
how to specify constructor in header for child and parent class
我是 C++ 新手,在 header 文件 parent.h
中定义了 parent class。
它有一个构造函数 Parent(int a, int b)
.
现在我想为 child class child.h
编写 header 文件,它继承了与 parent class 并且只有额外的成员函数。
我是否也必须在 child 的 header 文件中指定构造函数? (Child(int a, int b)
) 还是我只指定附加成员函数的签名并在相应的 child.cpp
文件中指定构造函数?
构造函数不是继承的。因此,如果您希望 child class 具有指定的构造函数,则需要在 class 定义中明确提供它:
…
Child(int a, int b) : Parent(a, b) {}
…
或从 parent class:
中拉入定义
using Parent::Parent;
请注意,这将引入 所有 构造函数重载。这可能不是您想要的。
我是 C++ 新手,在 header 文件 parent.h
中定义了 parent class。
它有一个构造函数 Parent(int a, int b)
.
现在我想为 child class child.h
编写 header 文件,它继承了与 parent class 并且只有额外的成员函数。
我是否也必须在 child 的 header 文件中指定构造函数? (Child(int a, int b)
) 还是我只指定附加成员函数的签名并在相应的 child.cpp
文件中指定构造函数?
构造函数不是继承的。因此,如果您希望 child class 具有指定的构造函数,则需要在 class 定义中明确提供它:
…
Child(int a, int b) : Parent(a, b) {}
…
或从 parent class:
中拉入定义using Parent::Parent;
请注意,这将引入 所有 构造函数重载。这可能不是您想要的。