فيديو: هل لكل فئة مُنشئ افتراضي C ++؟
2024 مؤلف: Lynn Donovan | [email protected]. آخر تعديل: 2023-12-15 23:43
المنشئات الافتراضية ( C ++ فقط)
أ المُنشئ الافتراضي هو أ البناء هذا سواء لديها لا توجد معلمات ، أو إذا كان لديها العوامل، الكل المعلمات لديك الافتراضي القيم. إذا لم يكن هناك تعريف من قبل المستخدم البناء موجود ل صف دراسي ألف وواحد يكون مطلوب ، يعلن المترجم ضمنيًا أ إفتراضي بدون معلمات البناء أ:: أ ().
وبالمثل ، هل تحتاج إلى مُنشئ افتراضي C ++؟
سيعلن المترجم ضمنيًا المُنشئ الافتراضي إذا لم يتم توفيرها من قبل المبرمج ، فسوف تحددها عندما تكون في يحتاج . تعريف المترجم المُنشئ الافتراضي يكون مطلوب إلى فعل تهيئة معينة للفئة الداخلية. يحتاج المترجم إلى إدخال رمز لاستدعاء المُنشئون الافتراضيون من الفئة الأساسية / الكائن المضمن.
تعرف أيضًا ، هل يمكن للفصل ألا يحتوي على مُنشئ C ++؟ إذا كان لديك لا يوجد صانعين للفصل , سوف C ++ إنشاء افتراضي عام تلقائيًا البناء لك. هذا يسمى في بعض الأحيان ضمني البناء (أو تم إنشاؤه ضمنيًا البناء ).
قد يتساءل المرء أيضًا ، هل لكل فئة مُنشئ افتراضي؟
نعم كل الطبقات التي أنشأناها في جافا المُنشئ الافتراضي بدون معلمات. ولكن بمجرد أن نقوم بإنشاء معلمات البناء الذي - التي الحصول على المُنشئ الافتراضي إزالة.
كيف تستدعي المُنشئ الافتراضي في C ++؟
البناء له نفس اسم الفئة نفسها. المنشئون ليس لديك نوع العودة. أ البناء يتم استدعاؤه تلقائيًا عند إنشاء كائن. إذا لم نحدد ملف البناء , C ++ المترجم يولد ملف المُنشئ الافتراضي بالنسبة لنا (لا تتوقع أي معلمات ولها جسم فارغ).