例如,我有幾個2D(二維)和3D案例的現有點類,如class Point2D
和class Point3D
。我希望它被模板化爲template<int D> class Point
,其中Point<2>
等效或直接使用Point2D
和Point<3>
等效或直接使用Point3D
。我不想重新實現這些現有的類,因爲我真正的類是沒有階級觀點一樣簡單,這是第三方代碼,就像如何使現有的類成爲類模板?
using Point<2> = Point2D;
using Point<3> = Point3D;
任何方式做到這一點?
你不重新實現,你重構。您的模板類成爲基礎併爲PointND提供了一些通用方法,派生類可以添加專門化 – AndyG
您應該發佈代碼。 –
我想說這完全取決於這兩個類目前的樣子。應使用實際類的代碼將 –