في لغة C++ ماهو الفرق بين الدالة الصديقة friend function and friend classes و الدالة المتداخل composition:ojects and members of classes
[ تمت الإجابة ]سؤال : ما الفرق بين composition و friend class في لغة C++
الـ Friendship هي إسلوب يتيح لذلك الـ friend من الوصول للعناصر الـ private داخل الـ class.
باقي السؤال يرجي التوضيح.
و الله ولي التوفيق
مدونتي: C++ Tips and Tricks
ال COMPOSITION هو حل بديل للوراثة
وهو عن طريق استخدام الصنف ككائن داخل الفئة الخاصة بك
واعطائها توكيل DELEGATION لقيام ببعض الوظائف
بدلا من الوراثة منه
class Base
{
public:
Base();
virtual ~Base();
virtual int getCount();
private:
int x;
};
class Derived
{
public:
Derived();
~Derived();
int getCount()
{
return b.getCount();
}
private:
Base b;
};
يفضل استخدام ال composition بدلا من الوراثة inheritance
ولكن لا تنسى مراقبة المساحة التخزينية لبرنامجك memory overhead
﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾
الأنفال ۳۳