في لغة C، يتم استخدام المنشئين لتهيئة كائنات الفئة. ومع ذلك، في مقتطف التعليمات البرمجية المقدم، لا يتم استدعاء المُنشئ، مما يؤدي إلى سلوك غير متوقع.
السطر الإشكالي:
Class object();لا يقوم فعليًا باستدعاء المُنشئ لفئة Class. بدلاً من ذلك، فإنه يعلن عن دالة ترجع كائن فئة. لاستدعاء المُنشئ وإنشاء كائن بشكل صحيح، يجب إضافة فاصلة منقوطة (;) إلى السطر:كائن الفئة;
Class object;خلف الكواليس: التحليل الأكثر إزعاجًا يسلط مقتطف الكود الأولي الضوء على مشكلة تُعرف باسم "التحليل الأكثر إرباكًا" في لغة C. عند مواجهة السطر:
كائن الفئة ()؛
Class object();يفسره المحلل اللغوي بشكل غامض إما على أنه إعلان دالة أو استدعاء دالة بقائمة وسيطات فارغة. غالبًا ما يؤدي هذا الغموض إلى ارتباك ونتائج غير متوقعة.تصحيح الكودلاستدعاء المنشئ وإنشاء كائن، يجب تحديث الكود إلى:#include باستخدام مساحة الاسم الأمراض المنقولة جنسيا؛ فئة فئة { فصل() { cout Class object;قم بتشغيل الكود المصحح لملاحظة المخرجات المتوقعة:تم استدعاء المُنشئ الافتراضي المدمر يسمى
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3