PDA

نسخه کامل مشاهده نسخه کامل : برنامه شي گرايي



hobab1987
02-05-2009, 23:23
سلام سلام:11:
بچه ها من تازه شي گرايي (سازنده ها و مخرب هاش) رو ياد گرفتم ...
و اين برنامه ي با كلاس رو نوشتم:5:
امـــــــــــــــــــــــ ـــــــا...
Error ميده!!!:13:
Error هاش سر اين سازنده مخرب هاشه!!!
plz help
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sin2x=2sinxcosx
03-05-2009, 15:31
همين جوري که نگاه کردم يه ايرادتون اينه که براي مخرب ها نمي تونين از void استفاده کنين . يعني درسته که نوع برگشتي نداره ولي void هم نبايد براي مخرب ها گذاشته باشه . ببينين اگه باز هم ارور داد بگين در خدمت هستين .

hobab1987
03-05-2009, 21:27
به سه تا سازنده ها ، متغيرf و l و d در تابع employee , به متغير i در تابع اصلي در كل بيشتر به متغير ها گير ميده!!
شي هايي كه بعد كلاس تعريف شده لازم در تابع اصلي هم تعريف كنم؟
راستي ممنون void رو پاك كردم!

sin2x=2sinxcosx
03-05-2009, 22:38
من زدم 104 تا ارور داد . اولا ببخشيد که يادم رفت ، بايد براي سازنده ها هم void ها رو حذف کنين .
حالا همه سازنده هاتون پارمتر دارند . ولي موقع ايجاد يک شي از کلاس هاتون شما هيچ آرگوماني رو بهش ارسال نمي کنين . مثلا براي سازنده date که نوشتين :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بايد موقع تعريف شي مثلا به اين صورت عمل کنين :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
به جاي اون شما اين کارو کرده بودين :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
براي ديگر سازنده ها هم همين طور .
شي ها رو تو تابع main تعريف کنين .

hobab1987
04-05-2009, 21:24
دوست گرامي من اين شي رو به اين خاطر از نوع آرايه انتخاب كردم كه اطلاعات 10 نفر رو بگيره اگه اين كاري كه شما گفتيد انجام بدم آرايه ام از بين ميره بعد من چطوري كلاسم رو آرايه اي كنم؟؟!!!:23:
بعد اين مقاديري كه تو شي گذاشتيد من ميخوام كاربر خودش تعيين كنه مقدار رو ، مجبورم مقادير رو به اين متغيير ها بفرستم و مقادير اوليه رو صفر كنم!!!

sin2x=2sinxcosx
04-05-2009, 22:54
آخه نميشه که سازنده سه تا پارامتر داشته باشه ولي موقع تعريف شيء هيچ آرگوماني بهش ارسال نشه . حالا يا کاربر وارد کنه يا خود شما تعيينش کنين . ولي مي تونين حالا که اصرار دارين آرگوماني به سازنده ارسال نکنين يه سازنده هم تعريف کنين به شکل زير :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در حالي که سازنده قبليتونو هم دارين :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

hobab1987
06-05-2009, 17:56
مرسي مرسي
حل شد

sin2x=2sinxcosx
06-05-2009, 21:17
نه شما دقيقا روش خودتونو برين . يعني تو تابع main که مثلا نوشتين em[i].get ، همون جوري برين فقط دو تا کار بکنين :
1- اشياتون رو تو تابع main تعريف کنين . يعني تابع main تون به اين شکل باشه که در اين صورت اصلا اروري نداره . پس ديگه عوضش نکنين و اگه باز هم ارور ديدين سراغ تابع main نرين :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

2- يه سازنده بدون پارامتر هم بغل سازنده قبليتون بذارين . همون طوري که تو پست 6 عرض کردم . مثلا تو پياده سازيش هم به داده هاي عضوتون مقدار صفر انتساب بدين .
موفق باشين ...

hobab1987
06-05-2009, 21:26
okey
منم همين كارو كردم و به جواب رسيدم
براي حل اين تمرين از كلاس تودرتو استفاده كنم بهره يا كلاسهاي جدا؟ به هر دو صورت نوشتم!

sin2x=2sinxcosx
06-05-2009, 21:28
جدا جدا بنويسين بهتره . خوندن برنامه راحت تر ميشه .