public:
const float pdFactor;
float voltage, current;
int averagingWindow, voltagePin, currentPin;
NONE of those should be public. Provide getters for values that you think the public needs access to.
Battery battery(3.504943957968f, 1000, A1, A0);
Think about all the things that are supposed to happen as a result of this.
Serial.print() before Serial.begin() is silly. So is ads1115.readADC_SingleEnded() before ads1115.begin().
Your constructor is doing WAY too much, and in the wrong order.