PDA

View Full Version : طراحی و پیاده سازی زبانها (تعریف نوع داده جدید)



mammad_asir
شنبه 07 خرداد 1390, 10:34 صبح
طراحی و پیاده سازی زبانها (تعریف نوع داده جدید)


طراحی و پیاده سازی زبانها (تعریف نوع داده جدید) با سلام میخواستم یک برنامه بنویسم که چهار عمل اصلی و ساده سازی را بتوان روی اعداد گویا انجام داد و اینکه در ابتدا باید این را includ کنیم تا مثل کتابخانه های دیگر اضافه شود و بعد یک نوع داده جدید (مثل int,float) تعریف کنیم که هر متغیر از این نوع داده یک صورت و یک مخرج دارد میخواستم روش انجام این دو مرحله (چگونگی includ کردن یک کتابخانه جدید و نوشتن نوع داده جدید)را بیان کنید تا برویم سراغ رو حل مسئله خواهشمندم کمی با زبان ساده تر توضیح دهید چون تازه کار هستم ممنون

مثلا میخواهم یک کتابخانه داشته باشم مثل<<includ <<goya.h که وقتی این را نوشتم بتوانم عملیات ضر ب روی اعداد گویا را انجام دهم و جواب به صورت گویا داشته باشم و تا زمانی که این فایل را includ نکردم این کار را خطا بگیرد و در تعریف نوع عم میخوام مثلا یک نوعی بسازم که هر متغیر از این وع که تعریف میکنم دو عدد(یکی صورت و دیگری مخرج) از ورودی بگیرد
مثلا نمونه زیر
includ<<goya .h
image a,b,c;
input a
input b
c=a+b
print c
که در واقع کلمه image نام نوع است مثل int برای عدد صحیح
خواهشا کمک کنید کمی روان تر ممنون

Arcsinos
شنبه 07 خرداد 1390, 11:36 صبح
خب تا خط دوم که مشکلی نداره ولی خط سوم : به نظر من اگه شما میخوایید ورودی هاتون از صفحه کلید باشه از سربار گزاری عملگر ها ی >> , << برای ورودی و خروجی استفاده کنید مثلا بنویسید cin>>a گرچه a از نوع image هست وimage رو هم تو کلاس goya تعریف کردید ولی سربار گذاری عملگرها به شما این امکان رو میده که عملگرها ی >> و << رو خودتون تعریف کنید .

همچنین در رابطه به سربار گذاری عملگرهای دیگه مثل + , - , * , .. حتی عملگرها ی مقایسه ای مثل != یا == هم میتونید از سربارگذاری عملگرها استفاده کنید .

موفق و موید باشید

mammad_asir
چهارشنبه 11 خرداد 1390, 14:07 عصر
سلام دوست عزیز ممنون از پاسختون من چیزی نفهمیدم

Arcsinos
چهارشنبه 11 خرداد 1390, 15:26 عصر
سلام دوست عزیز ممنون از پاسختون من چیزی نفهمیدم

چون شما میخواید با تماشای بازی های فوتبال ، یه فوتبالیست حرفه بشید .

من بالا چیزی نگفتم . به جز اینکه گفتم این کار رو میتونید با سربارگذاری عملگرها انجام بدید . موضوع سربار گذاری عملگرها توی کلاس ها مثل موضوع اعداد صحیح میمونه توی متغیر ها . اگه شما اندکی در مورد شی گرایی مطالعه داشته باشید . حتما می فهمید که من چی گفتم .

موفق و موید باشید