عندما نلقي نظرة على الخطأ الذي تلقيته “two or more data types in declaration of ‘setTime’”، يبدو أن هناك خطأ في تعريف الدالة setTime
في برنامجك. هذا الخطأ يشير إلى أن هناك أكثر من نوع واحد للبيانات في تعريف الدالة.
لنفهم هذا بشكل أفضل، دعني أشرح ببساطة كيف يجب تعريف دوال الأعضاء في الكلاس في لغة البرمجة سي++.
عند تعريف دوال الأعضاء (أو الأساليب) في الكلاس، يجب أن نستخدم نفس نوع البيانات لتعريف الدالة ولنوع الكلاس نفسه.
في السي++، يتم تعريف الدوال الأعضاء باستخدام القوسين {}
، ونحن نقوم بتحديد نوع القيمة المُرجَعة إذا كانت الدالة تُعيد قيمة، ومن ثم تعيين اسم الدالة وبعدها قائمة بالمعاملات المتوقعة داخل القوسين.
تبدو الدالة setTime
كالتالي في الكود الخاص بك:
cppvoid ClockType::setTime(int hours, int minutes, int seconds)
في الكود أعلاه، نرى أننا نقوم بتعريف دالة setTime
التي تنتمي إلى كلاس يُسمى ClockType
. ولكن يبدو أن هناك خطأ في الطريقة التي تم فيها تعريف الدالة. عادةً، يجب أن تُعرَّف الدوال الأعضاء في الكلاس مباشرة داخل القوسين {}
للكلاس نفسه، وليس بعد القوسين.
إليك كيف يجب تعريف الدالة setTime
بشكل صحيح في الكلاس ClockType
:
cppclass ClockType {
public:
// تعريف الدالة setTime بشكل صحيح داخل الكلاس ClockType
void setTime(int hours, int minutes, int seconds) {
// اكتب الكود الذي يعيّن قيم الساعات والدقائق والثواني هنا
}
};
ملاحظة: يُفضل أن تقوم بوضع التعليقات في داخل الدوال لتوضيح وظيفة كل جزء من الكود.
باستخدام الكود الذي قدمته، يمكنك الآن تعيين قيم الساعات والدقائق والثواني بطريقة صحيحة داخل الدالة setTime
دون الحاجة إلى تعديل أي قوسين آخرين.
المزيد من المعلومات
بالتأكيد، لنواصل المقال:
إضافة إلى تعريف الدالة setTime
بشكل صحيح داخل الكلاس ClockType
، يُفضل أيضًا تعريف الدوال الأعضاء الأخرى بنفس الطريقة داخل الكلاس، حيث يمكن أن تكون لديك دوال أخرى مثل getTime
لاسترجاع الوقت المحدد، أو printTime
لطباعة الوقت على الشاشة، وغيرها من الدوال التي قد تكون ذات فائدة في تطبيقك.
علاوة على ذلك، يمكنك تحسين برمجياتك من خلال استخدام مبادئ برمجة الكائنات والتي تشمل التجريد والتحزين والتوريث. على سبيل المثال، يمكنك إضافة متغيرات عضوية إلى الكلاس مثل hours
و minutes
و seconds
لتخزين قيم الوقت، وبالتالي يمكنك استخدامها في دوال الكلاس مباشرة بدون الحاجة إلى تمريرها كمعاملات.
تعتبر هذه الطريقة فعالة لأنها تسمح لك بتجريد تفاصيل العمليات التي تقوم بها داخل الكلاس، وبالتالي يمكنك تحسين قابلية الصيانة وفهم الكود وإعادة استخدامه.
ومن الجدير بالذكر أنه يجب دائمًا اختبار البرنامج بعد إجراء أي تغييرات. يمكنك استخدام مجموعة اختبارات للتأكد من أن البرنامج يعمل كما هو متوقع وأن جميع الوظائف تعمل بشكل صحيح.
بهذه الطريقة، يمكنك تجنب الأخطاء الشائعة مثل الخطأ الذي واجهته، وتطوير برمجياتك بشكل أفضل وأكثر فعالية. باستخدام مبادئ البرمجة الجيدة والتركيز على تطوير الكود بشكل منظم، يمكنك بناء تطبيقات قوية وموثوقة تلبي احتياجات المستخدمين بشكل فعال.