![]() |
توضیح این کد - نسخهی قابل چاپ |
توضیح این کد - mehdiba3 - 07 خرداد ۱۳۹۱ ۰۹:۳۶ ب.ظ
#include<iostream.h> #include<conio.h> #include<string.h> class figure { protected: double x,y; public: void set_dim(double i, double j=0){ x=i; y=j; } virtual void show_area(){ cout<<"no area defined"; cout<<"for this class.\n"; } }; class tringle :public figure { public: void show_area(){ cout<<"tringle with height"; cout<<x<<"and base"<<y; cout<<"has an are "; cout<<x * 0.5 *y<<"\n"; }}; class square : public figure{ public: void show_area(){ cout<<"sqoure with demensoin"; cout<<x<<"x"<<y; cout<<"has an area of"; cout<<x * y<<"\n"; } }; class circle :public figure{ public: void show_area(){ cout<<"circle with radios"; cout<<x; cout<<"has an area of"; cout<<3.14 * x * x; } }; main(void) { figure *p; tringle t; square s; circle c; p=&t; p->set_dim(10.0, 5.0); p->show_area(); p=&s; p->set_dim(10.0, 5.0); p->show_area(); p=&c; p->set_dim(9.0); p->show_area(); getch(); return 0; } |
میشه یک مسلمون این کد رو برام توضیح بده؟ - a.hooshmand - 07 خرداد ۱۳۹۱ ۰۹:۵۴ ب.ظ
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید. |
میشه یک مسلمون این کد رو برام توضیح بده؟ - parsaNA - 07 خرداد ۱۳۹۱ ۰۹:۵۵ ب.ظ
برنامه نکته خاصی نداره . داره کاربرد وراثت و توابع مجازی ( virtual ) رو نشون میده . اول کلاس اصلی شکل ( figure ) رو تعریف می کنه و بعد کلاسهای دایره و مثلث و مربع از اون کلاس اصلی ارث می برن . تابع مجازی هم غالبا مشابه سربارگزاریه ( overloading ) ، به این صورته که این تابع با کلمه کلیدی virtual تو کلاس اصلی تعریف می شه و اغلب اوقات برای اون کار خاصی در نظر گرفته نمی شه . بعد کلاس های مشتق شده همین تابع را با همین نام منتها بدون کلمه کلیدی virtual با توجه به نیازهای خود دوباره تعریف می کنند . مثل سربارگزاری بحث اشاره گر به کلاس هم باعث میشه که دیگه برای دسترسی به اعضای کلاس از عملگر <- استفاده بشه . ضمن برقراری تموم قوانین اشاره گر ها برای کلاس . |
RE: میشه یک مسلمون این کد رو برام توضیح بده؟ - mehdiba3 - 08 خرداد ۱۳۹۱ ۰۸:۴۵ ق.ظ
(۰۷ خرداد ۱۳۹۱ ۰۹:۵۵ ب.ظ)parsaNA نوشته شده توسط: برنامه نکته خاصی نداره . داره کاربرد وراثت و توابع مجازی ( virtual ) رو نشون میده . اول کلاس اصلی شکل ( figure ) رو تعریف می کنه و بعد کلاسهای دایره و مثلث و مربع از اون کلاس اصلی ارث می برن . ممنون از راهنماییت دوست عزیز |