سؤال

شكرا جزيلا لوقتك وأنا أقدر حقا

هناك فئة فرعية بتكلفة تحتاج إلى تسلسل مع مكتبة تخليط الحبوب، فإن BaseClass فارغ، فهو موجود فقط حتى نتمكن من الحصول على ناقلات من Shared_ptr إلى الفئة الأساسية مما يسمح له بإجراء أنواع متعددة من الفئة الفرعية للتكلم، السماح بفعالية تخزين ناقلات أنواع متعددة المتغيرات.

giveacodicetagpre.

يتعارض ناقلات BaseClass التالي قليلا من الفئات الفرعية:

giveacodicetagpre.

أخيرا، يتسزل المتجه وإرساله إلى جهاز بعيد للمعالجة:

giveacodicetagpre.

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

تم تبسيط التعليمات البرمجية لأسفل لفضح المشكلة فقط، لمزيد من المعلومات حول الفكرة الكاملة، يمكنك الرجوع على هذا السؤال هنا.

يتم تضمين رؤوس الحبوب التالية:

giveacodicetagpre.

أنا متأكد من أنني سأحتاج إلى مزيد من البدء في إضافة المزيد من أنواع البيانات إلى BaseClass.

إذا كان لدى شخص ما أي فكرة عما يحدث هنا، سأقدر ذلك كثيرا.

شكرا لك مرة أخرى على وقتك.

هل كانت مفيدة؟

المحلول

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

أتصور الحبوب يقوم ببعض sfinae لاختبار وجود طريقة التسلسل والحصول على سلوك افتراضي إذا لم يتم العثور عليه.سيكون ذلك هو الحال هنا لأنك لا تملك خطأ في تجميع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top