Мой вопрос должен быть простым, но я не могу найти правильный способ разбить конструктор с инициализированными членами на .h и. cpp (определение и реализация), файлы.
Если, скажем, я have:
class Class {
public:
Class (int num, float fl ... ) : _num(num), _fl(fl) {}
...
private:
int _num;
float _fl;
};
Как мне реализовать конструктор в. cpp файле? Если после инициализации члена (в заголовочном файле) я ставлю точку с запятой - компилятор жалуется. Если я сохраню {}, файл. cpp будет переопределять конструктор, что также неверно. Я могу, конечно, записать определение явно. Так что .h файл:
Class (int num, float fl ... );
и. cpp:
Class (int num, float fl ... ) {
_num = num;
_fl = fl;
}
Но есть ли способ сохранить инициализацию члена в заголовочном файле? Заранее спасибо! Кроме того, в профессиональном кодировании, что будет предпочтительнее?