PDA

نسخه کامل مشاهده نسخه کامل : مشکل در ++c



DrXoX
04-06-2008, 14:39
سلام

دوستان تو برنامه زیر قسمت قرمز ، طرز کارش چطوریه؟

اگر از دوستان کسی می تونه راهنمایی کنه ممنون میشم


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

rf.ariyapoor
04-06-2008, 17:56
خیلی واضحه تابع get_xy واسه اینه که به مقادیر x , y شی مورد نظرت مقادیر جدیدی بدی یا این که مقدارشون رو تغییر بدی

bahareh655
04-06-2008, 18:21
منم با نظر rf.ariyanpoor موافقم!
ببين تو خط void get_xy(int &i,int &j){i=x ;j=y كه i وj رو مرجع تعريف كرده كه هر وقت ازشون استفاده ميشه،مقدارشون رو برگردونن و يا مقدار در تو خودشون تغيير كنه(كپی ايجاد نشه)،تو خط o1=o2 با توجه به تعريف مجدد اپراتور = ،مقدار x و y ی o2 رو ميريزه تو o1 و تو خط o1.get_xy(x,y اين مقادير يعنی 5 و 3 رو ميريزه تو x و y و بعد نمايش می ده!

DrXoX
04-06-2008, 18:48
سلام

ممنون ولی من دقیق نمی گیرم:41: مثلا تو این خط:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیداین x ,y کدوم x, y هستش؟؟ مگر x,y خود تابع main نیست؟ یا x, y شی O1 هستش؟

بهاره خانم اینجوری که شما گفتید من گرفتم ولی تو این خط مشکل دارم


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمگه نباید i, j رو بریزه توی x, y شی O1 ؟ یعنی اینجوری


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

bahareh655
05-06-2008, 18:40
در مورد قسمت اول سوالتون،اون x و y ،مربوط به تابع main هستش كه قراره مقادير x و y مربوط به o1 توش قرار بگيره.

توجه كنيد كه اون x و y ای كه تو تعريف تابع get_xy اومده،متغيرهای خصوصی هر شی ايه كه از اين كلاس ساخته ميشه و همون طور كه م‍ی بينيد،تو تابع سازنده ( (coord(int i,int j ) هم مقداردهی شدن و وقتی تو تابع main ،اين خط :

[coord o1(10,10),o2(5,3] دو تا شی o1 و o2 رو ايجاد می كنه،به طور ضمنی مقادير 10،10 و 5،3 رو به x و y هر كدوم اختصاص می ده كه بعد مقادير 5،3 در x و y مربوط به o1 قرار می گيره و نمايش داده ميشه.احتمالاً همنام بودن متغيرها در كلاس و main يه كمی برنامه رو مبهم كرده.

DrXoX
05-06-2008, 19:29
در مورد قسمت اول سوالتون،اون x و y ،مربوط به تابع main هستش كه قراره مقادير x و y مربوط به o1 توش قرار بگيره.

توجه كنيد كه اون x و y ای كه تو تعريف تابع get_xy اومده،متغيرهای خصوصی هر شی ايه كه از اين كلاس ساخته ميشه و همون طور كه م‍ی بينيد،تو تابع سازنده ( (coord(int i,int j ) هم مقداردهی شدن و وقتی تو تابع main ،اين خط :

[coord o1(10,10),o2(5,3] دو تا شی o1 و o2 رو ايجاد می كنه،به طور ضمنی مقادير 10،10 و 5،3 رو به x و y هر كدوم اختصاص می ده كه بعد مقادير 5،3 در x و y مربوط به o1 قرار می گيره و نمايش داده ميشه.احتمالاً همنام بودن متغيرها در كلاس و main يه كمی برنامه رو مبهم كرده.

سلام

ممنون از جوابتون

تو این تابع


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


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید از داخل Main فراخوانی میشه جای پارامترهای مرجع i& و j& ؛ متغیرهای

x, y مربوط به main قرار می گیره و بعد داخل تابع مثلا میشه اینطور فرض کرد:


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

x و y قرمز رنگ مربوط به main هستن ، بعد که xو y شی داخل x و y برنامه ریخته شدن ، چون مرجع هستن

x و y با مقادیر 5،3 مقدار دهی میشن . درسته؟ یا باز هم اشتباه متوجه شدم؟:41:

باز هم ممنون که وقت گذاشتید و جواب دادین

bahareh655
05-06-2008, 19:43
***درسته***

DrXoX
05-06-2008, 19:45
***درسته***

ممنون . از وقتی که گذاشتین

bahareh655
05-06-2008, 21:11
خواهش می كنم در ضمن آواتارتم فوق العاده اس!