我喜欢在C++中将类的声明和定义分开。因此,在头文件中,我可能会定义一个“基类”如下:
# Base.h
class Base
{
int n;
public:
Base(int x);
};
在一个cpp文件中定义它的构造函数实现,例如:
# Base.c
Base::Base(int x)
{
n = x;
}
现在,如果我定义一个继承“基类”的“派生”类,我可以按如下方式向基类传递参数:
#Derived.h
class Derived : public Base
{
int t;
public:
Derived(int y) : Base(t) {t = y;}
}
但是这样做需要将 Derived 类的构造函数主体放置在头文件中,即
{t = y;}
,因此构造函数定义不再与其声明分离。是否有一种方法可以将参数传递给类的基类构造函数,并仍然使我能够在 cpp 文件中定义派生类的构造函数?