Правильно ли создал я констуктор в c++

Правильно ли создал я конструктор CBraidedFishingLine?

BraidedFishingLine.cpp

#include "pch.h"
#include "BraidedFishingLine.h"

using namespace std;

/**
* Constructor
* 
* \param double fiberBreakingStrenght, fiber breaking streanght
* \param int numStrands, number of strands in the braid
* \param double stretchFactor, the stretch factor of the underlying fiber (must be >1.0)
*/
CBraidedFishingLine::CBraidedFishingLine(double fiberBreakingStrength, int numStrands, double stretchFactor) : CFishingLine(fiberBreakingStrength, stretchFactor)
{
    numStrands = mNumStrands;
}

Ответы (1 шт):

Автор решения: HolyBlackCat

Поскольку в определении CBraidedFishingLine::CBraidedFishingLine(...) вы не указали, какой конструктор нужно вызвать для родителя CFishingLine, компилятор пытается вызвать конструктор без параметра, которого у вас нет (он генерируется автоматически только если не писать для класса никаких своих конструкторов).

Решение: сказать компилятору, что нужно использовать конструктор с двумя параметрами:

CBraidedFishingLine::CBraidedFishingLine(double fiberBreakingStrength, int numStrands, double stretchFactor)
    : CFishingLine(fiberBreakingStrength, stretchFactor), mNumStrands(numStrands)
{}
→ Ссылка