Мне нравится сохранять описания и определения классов отдельно на C++. Так, в заголовке я могу определить класс «базовый» следующим образом:Передача параметров конструкторам базового класса 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;}
}
Но делать это таким образом требует, чтобы я помещаю тело конструктора для производного класса в заголовочном файле , то есть {t = y;}
, и, следовательно, определение конструктора больше не отделено от его объявления. Есть ли способ передать аргументы в конструктор базового класса класса, который все еще позволяет мне определить конструктор для производного класса в файле cpp?
Конечно, просто ;-) –