واضح آرشیو وب فارسی:سایت ریسک: Ho$∑∫N13-07-2008, 08:50 AMدوستان من اين برنامه رو به زبان c++ نوشتم ولي وقتي كامپايلر خواست كامپايل كنه ايراد گرفت. حالا شما ببينيد ايراد كار از كجاست و من چيكار بايد بكنم. كد برنامه : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! خطاهاي كامپايلر : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! rf.ariyapoor13-07-2008, 11:12 AMسلام دوست عزیز یه سری مشکلات برنامه شما داشت که تو زیر اوردم: 1.اول اینکه تو تعریف یه کلاس به متغییر های اون مقدار اولیه نمیدن .توجه بکن که این فقط یه تعریف از کلاس هست و تو این قسمت هیچ حافظه ای واسه کلاس در نظر گرفته نمیشه که شما بخوای به متغییر های اون مقدار اولیه بدی !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!2.در ضمن تو خط دوم که بالا مشخص کردم تو کلاس class_grades_number تعریف نشده . در کل واسه این دو کار (یکی مقدار دهی اولیه و گرفتن حافظه برای آرایه) میتونید از constructor استفاده کنید مثلا میشه یه همچین سازنده ای ساخت: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!3.متغییر total_class_grades رو دو بار تعریف کردی 4. آخر تعریف کلاس باید ; بذاری که نذاشتی 5. حلقه for تو تابع chart_class_grades () مشکل داره 6. تو خط 5 ام تابع main هم تابع set_class_name() آرگومان میگیره که شما نذاشتید یکی 2 تا خطای دیگه هم بود که مربوط به syntax ها می شد خیلی از این خطا ها رو اگر یکی 2 بار کامپایل میکردی و به ذره دقت میتونستی پیداشون کنی چیزای خاصی نیستن موفق باشی Ho$∑∫N13-07-2008, 11:20 AMخيلي ممنون . نميدونم چطور تشكر كنم. مثل هميشه شما پاسه سوال هاي سطح پايين منو داديد. Ho$∑∫N13-07-2008, 11:47 AMمن تغييراتي رو كه شما گفته بوديد اعمال كردم . كد برنامه : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ولي باز هم كامپايل نشد. در ضمن اگه ميشه كمي ساده تر توضيح بديد. چون من اين قطعه كد شما رو متوجه نشدم. چون هنوز ياد نگرفتم : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! من سازنده ها رو ياد گرفتم ولي نميدونم چرا شما براي انتقال مقادير آرايه از اين كد استفاده كرديد. منظورم اين كد است : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ارور هايي كامپايلر : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! rf.ariyapoor14-07-2008, 12:44 AMوقتی که شماسازنده ساختید دیگه نیاز به این خط تو تعریف کلاس نیست: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ببین وقتی شما یه کلاس رو تعریف میکنی در واقع داری یه نوع داده جدید رو تعریف میکنی توجه کن این یه تعریف هست که ما میگیم که این داده جدید چه ویزگی هایی داره وهیچ فضایی تو حافظه وقتی ما کلاس رو تعریف میکنیم اختصاص داده نمیشه بلکه وقتی که ما از اون نوع داده یه نمونه یا به اصطلاح یه شی میسازیم فضاهای مورد نیاز اون گرفته میشه پس ما تو تعریف یه کلاس نمیتونیم به متغییر های داخل کلاس مقدار اولیه بدیم . حالا واسه اینکه ما بخوایم به متغییر های یه کلاس وقت ساخته شدن یه نمونه از اون کلاس مقدار اولیه بدیم باید از سازنده ها استفاده کنیم . سازنده یه تابع هم نام با کلاس هست که حتما باید به صورت عمومی تعریف بشه . پس سازنده کلاس شما به شکل زیر میشه چون این داده هارو شما میخوای مقدار اولیه بدید: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!پس شما باید این خط رو از تعریف کلاست برداری: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! چون اینجا داری به اندازهclass_grades_numberحافظه میگیری در واقع شما باید یه اشاره گر از نوعInt بسازی و تو سازنده بگی که به اندازه فلان قدر از نوعint واسه آرایه حافظه بگیر. class_grades_numberرو هم نمیدونم چراStatic تعریف کردی من از این حالت در اوردمش دوست عزیز من سعی کردم که بفهمم برنامت چی کارمیخواسته بکنه و یه سری جا هاشو عوض کردم هنوز یه سری جاهاش اصلاح میخواد که اونا رو خودت درست کن الان برنامه کار میکنه فقط فکر کنم از لحاظ کاری که شما میخوای انجام بده درست نیاشه که اونا رو خودت روش کار کنی میتونی درستش کنی !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! موفق باشی سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 313]