【发布时间】:2022-01-11 20:58:00
【问题描述】:
我想学习如何在一个文件中定义派生类构造函数,以便我可以在另一个文件中实现它。
public:
Derived(std::string name) : Base(name);
~Derived();
析构函数按预期工作,但是对于构造函数,我要么在末尾添加 {}(而不是分号),然后重新定义“派生”错误,要么要求我添加 {} 而不是分号。在这种情况下,有什么方法可以将定义和实现分开?
【问题讨论】:
-
: Base (name)位是定义的一部分。如果你只是想要一个声明,那就是Derived(std::string name);。 -
我想你的意思是,“分开 declaration 和 definition”。对于我们其他人来说,“定义”和“实现”是同一个东西,而“声明”代表了你不恰当地称为“定义”的无实现的东西。
标签: c++ oop inheritance constructor derived-class