ciao.
Devo trovare uno standard per im mio codice di come creare l'overloading degli operatori .
mi spiego meglio postando un po di codice:
.h
.cppcodice:CIfcTrasformation3d* operator* (CIfcTrasformation3d * second);
CIfcTrasformation3d č una mia classe che aggrega posizione e rotazione di un elemento.Lo utilizzo cosi:codice:CIfcTrasformation3d* CIfcTrasformation3d::operator* (CIfcTrasformation3d* second) { *m_pRotationMatrix = *m_pRotationMatrix * *second->GetRotationMatix(); *m_pPosition = *m_pPosition + *second->GetTranslationVector(); return NULL; }
codice:for(itBegin; itBegin != itEnd; ++ itBegin) { Step::ObsPtr<ifc2x3::IfcRelAssignsToProduct> ptrAssignProduct = *itBegin; Step::RefPtr<IfcProduct> ptrProduct = ptrAssignProduct->getRelatingProduct(); RefPtr<IfcLocalPlacement> pLocalPlacement = ptrProduct->getObjectPlacement(); CIfcTrasformation3d Trasformation3d; // Trasformation3d.InitPositionAndRotation(pLocalPlacement.get()); AllTrasformation3d =*(AllTrasformation3d * &Trasformation3d); }
il mio problema č che a volte mi trovo ad utilizzare l'operatore con gli oggetti , a volte con i puntatori , da qui il casino che ho scritto(bruttissimo me ne rendo conto).Esiste un metodo o una linea per gestire i parametri degli operatori in questi casi?
come ?
grazie.

Rispondi quotando