انا لا احبذ الوراثه داخل الفئات الرياضيه فهى ستعطى كود اضافى داخل الذاكره لا داعى له حيث اننا لن نقوم بعمل upcast او downcast من shape إلى circle و العكس
ايضا احب تذكير الاخوه ان هذا المحرك هو محرك العاب 2D و ليس 3D
بالنسبه لموضوع النقطه و المتجه اعتقد ان الأفضل البقاء على الإثنين حيث انه لن تحدث مشكله و لكن لن يكون من المنطقى تعريف دائره بهذا الشكل
[color= #0000ff;]struct Circle
[color= #000000;]{
Vector2D center;
[color= #0000ff;]double Radius;
[color= #000000;]};كما تروا ان النوع Vector2D و مع انه اشمل و اعم من النقطه و لكن لا محل له من الإعراب داخل هذا النوع حيث بعد فتره من الزمن من الممكن ان تسأل نفسك ... لماذا استخدمت Vector بدلا من الـ Point مع ان الـ Point توضح المعنى اكثر.
و الله ولى التوفيق
مدونتي: C++ Tips and Tricks

