واضح آرشیو وب فارسی:سایت ریسک: View Full Version : برنامه شي گرايي hobab 198703-05-2009, 12:23 AMسلام سلام:11: بچه ها من تازه شي گرايي (سازنده ها و مخرب هاش) رو ياد گرفتم ... و اين برنامه ي با كلاس رو نوشتم:5: امـــــــــــــــــــــــ ـــــــا... Error ميده!!!:13: Error هاش سر اين سازنده مخرب هاشه!!! plz help !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! sin2x=2sinxcosx03-05-2009, 04:31 PMهمين جوري که نگاه کردم يه ايرادتون اينه که براي مخرب ها نمي تونين از void استفاده کنين . يعني درسته که نوع برگشتي نداره ولي void هم نبايد براي مخرب ها گذاشته باشه . ببينين اگه باز هم ارور داد بگين در خدمت هستين . hobab 198703-05-2009, 10:27 PMبه سه تا سازنده ها ، متغيرf و l و d در تابع employee , به متغير i در تابع اصلي در كل بيشتر به متغير ها گير ميده!! شي هايي كه بعد كلاس تعريف شده لازم در تابع اصلي هم تعريف كنم؟ راستي ممنون void رو پاك كردم! sin2x=2sinxcosx03-05-2009, 11:38 PMمن زدم 104 تا ارور داد . اولا ببخشيد که يادم رفت ، بايد براي سازنده ها هم void ها رو حذف کنين . حالا همه سازنده هاتون پارمتر دارند . ولي موقع ايجاد يک شي از کلاس هاتون شما هيچ آرگوماني رو بهش ارسال نمي کنين . مثلا براي سازنده date که نوشتين : date(int y,int m,int da); بايد موقع تعريف شي مثلا به اين صورت عمل کنين : date dte(2008, 5, 6); به جاي اون شما اين کارو کرده بودين : date dte[n] براي ديگر سازنده ها هم همين طور . شي ها رو تو تابع main تعريف کنين . hobab 198704-05-2009, 10:24 PMدوست گرامي من اين شي رو به اين خاطر از نوع آرايه انتخاب كردم كه اطلاعات 10 نفر رو بگيره اگه اين كاري كه شما گفتيد انجام بدم آرايه ام از بين ميره بعد من چطوري كلاسم رو آرايه اي كنم؟؟!!!:23: بعد اين مقاديري كه تو شي گذاشتيد من ميخوام كاربر خودش تعيين كنه مقدار رو ، مجبورم مقادير رو به اين متغيير ها بفرستم و مقادير اوليه رو صفر كنم!!! sin2x=2sinxcosx04-05-2009, 11:54 PMآخه نميشه که سازنده سه تا پارامتر داشته باشه ولي موقع تعريف شيء هيچ آرگوماني بهش ارسال نشه . حالا يا کاربر وارد کنه يا خود شما تعيينش کنين . ولي مي تونين حالا که اصرار دارين آرگوماني به سازنده ارسال نکنين يه سازنده هم تعريف کنين به شکل زير : employee(); در حالي که سازنده قبليتونو هم دارين : employee(char *f,char *l,int d); hobab 198706-05-2009, 06:56 PMمرسي مرسي حل شد sin2x=2sinxcosx06-05-2009, 10:17 PMنه شما دقيقا روش خودتونو برين . يعني تو تابع main که مثلا نوشتين em[i].get ، همون جوري برين فقط دو تا کار بکنين : 1- اشياتون رو تو تابع main تعريف کنين . يعني تابع main تون به اين شکل باشه که در اين صورت اصلا اروري نداره . پس ديگه عوضش نکنين و اگه باز هم ارور ديدين سراغ تابع main نرين : void main() { address adrs[n]; date dte[n]; employee em[n]; int i; for(i=0;i<n;i++) { em[i].get(); em[i].show(); dte[i].get(); dte[i].show(); adrs[i].get(); adrs[i].show(); } } 2- يه سازنده بدون پارامتر هم بغل سازنده قبليتون بذارين . همون طوري که تو پست 6 عرض کردم . مثلا تو پياده سازيش هم به داده هاي عضوتون مقدار صفر انتساب بدين . موفق باشين ... hobab 198706-05-2009, 10:26 PMokey منم همين كارو كردم و به جواب رسيدم براي حل اين تمرين از كلاس تودرتو استفاده كنم بهره يا كلاسهاي جدا؟ به هر دو صورت نوشتم! sin2x=2sinxcosx06-05-2009, 10:28 PMجدا جدا بنويسين بهتره . خوندن برنامه راحت تر ميشه . سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 570]