Cześć, czy jest dobrym stylem programowania robić coś takiego?
Nie chcę dla każdego typu wskaźnika pisać odzielnej funkcji.
void Truss::addElements(Element * obj)
{
if ( dynamic_cast<CommonRafter *> (obj) ) {
commonRaftersPtr = obj;
return;
}
if ( dynamic_cast<HipRafter *> (obj) ) {
hipRaftersPtr = obj;
return;
}
if ( dynamic_cast<ValleyRafter *> (obj) ) {
valleyRaftersPtr = obj;
return;
}
if ( dynamic_cast<Purlin *> (obj) ) {
purlinsPtr = obj;
return;
}
if ( dynamic_cast<WallPlate *> (obj) ) {
wallPlatesPtr = obj;
return;
}
if ( dynamic_cast<CollarBeam *> (obj) ) {
collarBeamsPtr = obj;
return;
}
}