يمكنك أن تحمي الطبقات المتداخلة في C ++؟
سؤال
ولدي فئة التي فقط حقا حاجة من أي وقت مضى من قبل الطبقات في التسلسل الهرمي فئة معينة. أردت أن أعرف ما إذا كان من الممكن أن عش الطبقة في مقطع محمي أعلى فئة والحصول على جميع الطبقات الأخرى ترث تلقائيا؟
المحلول
و"وراثة" هي الكلمة الخاطئة لاستخدام لأنه يحتوي على تعريف محدد للغاية في C ++ الذي لا يعني، ولكن نعم يمكنك أن تفعل ذلك. هذا هو قانوني:
class A {
protected:
class Nested { };
};
class B : public A {
private:
Nested n;
};
والتعليمات البرمجية التي ليست في وضع أو شيء من هذا مستمد من A لا يمكن الوصول أو مثيل A :: متداخلة.
لا تنتمي إلى StackOverflow