"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا تحتاج فئة القالب إلى الإعلان عن فئة قالب صديق باستخدام معلمة قالب مختلفة؟

لماذا تحتاج فئة القالب إلى الإعلان عن فئة قالب صديق باستخدام معلمة قالب مختلفة؟

تم النشر بتاريخ 2024-11-13
تصفح:544

Why Does a Templated Class Need to Declare a Friend Templated Class with a Different Template Parameter?

فئة القالب مع فئة قالب صديق: فك رموز الميكانيكا

في هذا السيناريو، تقوم بتعريف قالب فئة شجرة ثنائية (BT) وقالب فئة (BE ) الذي يمثل عنصرا من عناصر الشجرة. تواجه متطلبًا خاصًا لتعريف قالب الصديق بأنه BT بدلاً من BT. يؤدي التحقيق في هذا السلوك إلى فهم شامل لقوالب الفصل وعلاقات الأصدقاء.

القوالب المتداخلة والتظليل

في البداية، تحاول إعلان قالب الصديق كقالب فئة صديق بريتيش تيليكوم؛. ومع ذلك، هذا محظور لأن معلمات القالب المتداخلة لا يمكن أن تحمل نفس الاسم. يجب أن تستخدم القوالب المتداخلة أسماء معلمات قالب مميزة.

تعريف علاقات الأصدقاء

عندما تعلن عن فئة صديق القالب BT؛، فإنك تنشئ علاقة صداقة بين BT وBE، بغض النظر عن وسيطات قالب BT. هذا يعني أن أي إنشاء مثيل لـ BT يمكنه الوصول إلى الأعضاء الخاصين في أي إنشاء مثيل لـ BE.

]&&&] إذا كنت ترغب في تقييد علاقة الصديق لتقتصر فقط على مثيلات BT التي تستخدم نفس وسيطة القالب مثل BE، فيجب عليك التصريح الصديق كما يلي:

قالب شريط فئة الصديق;
template friend class bar;
في حالتك المحددة، قم بإعلان شريط فئة الصديق; يجب أن يكون كافيًا ضمن فئة BE.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3