You already know. This bit of code:-
void RGBCommonLED::updateLED(){
analogWrite(this->pins[0], rgb[0]);
analogWrite(this->pins[1], rgb[1]);
analogWrite(this->pins[2], rgb[2]);
}
Writes the RGB values out to the LED so the rgb[] array has the values you want in them. Am I missing something here?