Поскольку Superclass
занимает float&
, необходимо выделить место для значения, прежде чем предоставить ссылку на суперкласс.Затем вы должны установить значение результата вычисления перед вызовом конструктора * 1003.
Это можно сделать, поместив код для вычисления calculatedValue
в частную статическую функцию-член и создав экземплярпеременная для float
:
private:
float val;
static float calculateValue(float data1, float data2, ...) {
return complex calculated from data1, data2
}
public:
Class::Class(float data1, float data2, ...)
: Superclass(val = calculateValue(data1, data2, ...)) {
}
Теперь Superclass
может установить свою ссылку на val
подкласса, который, в свою очередь, устанавливается на результат вызова функции-члена calculateValue
для переданных параметровконструктору.
Демо.