我有一個函數:如何將指針轉換爲引用?
bool IntersectBoxBox(IShape3D* a, IShape3D* b)
{
Box* boxA = (Box*)a;
Box* boxB = (Box)b;
return(boxA->Intersects(boxB));
}
並且當2 IShape3D的被確定爲一個box
和box
類型,它被稱爲(有一個IShape3D->GetType()
方法)。
不管怎樣,問題是相交需要Box& box
,所以我不能通過它的指針。有沒有廉價的方法來轉換參數?
供參考:您可能有興趣使用[訪問者模式來模擬雙派遣](http://en.wikipedia.org/wiki/Double_dispatch#Double_dispatch_in_C.2B.2B)作爲必須從接口到具體類型。 –