دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۹
  • مرداد

جلسه ۲۷ : آموزش الگو ها در ++C

  • دسته‌بندی‌ها :
جلسه ۲۷ : آموزش الگو ها در ++C
    • جزئیات
    • نوع محتواآموزش تصویری

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش ++C در خدمت شما دوستان هستیم . در بخش قبلی با توابع مجازی در ++C آشنا شدید، در این جلسه قصد داریم به آموزش الگو ها در ++C یا Templates در ++c و شی الگوی کلاس در سی پلاس پلاس بپردازیم.

      الگو ها یا قالب ها یکی از ویژگی های قدرتمند زبان ++C می باشد که این امکان را به ما می دهد تا برنامه هایمان را به صورت عمومی بنویسیم.

      به عبارت دیگر با استفاده از الگو ها می توانیم تابع یا کلاسی تعریف کنیم که با انواع مختلف داده ها کار کند.

      الگو ها معمولا در پروژه های بزرگ به منظور استفاده مجدد از کد و انعطاف پذیری برنامه ها استفاده می شود.

      مفهوم الگو ها در دو روش متفاوت استفاده می شود:

      • الگوی تابع
      • الگوی کلاس

      الگو ها در ++C

       

      الگوی تابع در ++C

      یک الگوی تابع (Function Template) یا قالب تابع شبیه به توابع معمولی کار می کند اما با یک تفاوت.

      یک الگوی تابع می تواند در یک زمان با چندین نوع داده کار کند اما یک تابع معمولی می تواند فق با یک نوع داده کار کند.

      به طور معمول اگر بخواهید اعمال یکسانی را روی دو یا چند نوع داده انجام دهید، از سربارگذاری توابع برای ایجاد چند تابع با تعاریف لازم استفاده خواهید کرد.

      با این حال یک روش بهتر استفاده الگو ها خواهد بود زیرا می توانید اعمال یکسانی را با یک تابع  انجام دهید.

       

      تعریف الگو تابع در ++C

      یک الگوی تابع با کلمه کلیدی template آغاز می شود و به دنبال آن پارامتر های الگو داخل < > می آیند و بعد آن تعریف تابع نوشته می شود.

      مثال : 

      در مثال بالا T یک آرگومان الگو است که انواع داده مختلفی را قبول می کند.

      class نیز یک کلمع کلیدی است که می توانید به جای آن از کلمه typename هم استفاده کنید.

      مثال

      برنامه زیر بزرگترین مقدار دو عدد را با استفاده از الگوی تابع نمایش می دهد:

      مثال : 

      خروجی به شکل زیر می باشد:

      مثال : 

      در بالا الگو تابع ()Large را تعریف کرده ایم که دو پارامتر از نوع T را می گیرید. نوع T می تواند هر نوع داده ای باشد.

      در طول زمان اجرا هنگامی که یک integer به تابع ارسال می شود، کامپایلر یک تابع ()Large برای پذیرفتن آرگومان های int تولید میکند.

      به طور مشابه برای هر نوع داده ای نیز همین کار را خواهد کرد.

       

      مثال

      برنماه زیر دو مقدار دو متغیر را با هم جا به جا می کند:

      مثال : 

      خروجی:

      مثال : 

       

      الگوی کلاس

      مانند الگو های تابع، می توانید الگو های کلاس یا قالب های کلاس ایجاد کنید.

      گاهی اوقات نیاز داریم تا کلاسی را پیاده سازی کنیم که که برای تمام کلاس ها یکسان است و فقط انواع داده استفاده شده متفاوت هستند.

      به طور معمول شما چندین کلاس متفاوت برای هر نوع داده ایجاد می کنید یا داخل یک کلاس توابع مختلف برای انواع داده مختلف پیاده سازی می کنید.

      به هر حال استفاده از الگوی کلاس بهترین روش برای پیاده سازی این نگونه کلاس ها هست.

       

      تعریف الگوی کلاس در ++C

      مثال : 

      در مثال بالا T یک نگهدارنده انواع مختلف داده است.

       

      ایجاد شی الگوی کلاس

      برای ایجاد یک شی از الگوی کلاس باید نوع داده را داخل < > هنگام ایجاد شی تعریف کنیم.

      مثال : 

      برای مثال:

      مثال : 

       

      مثال

      در برنامه زیر جمع، تفریق، ضرب و تقسیم دو عدد را با استفاده از قالب کلاس پیاده سازی کرده ایم:

      مثال : 

      خروجی به شکل زیر می باشد:

      مثال : 

       

      جلسه آموزش الگو ها در ++C و سری جلسات آموزش زبان برنامه نویسی ++C نیز به پایان رسید.
      امیدواریم این آموزش ها مفید واقع شده باشند.

      QR:  جلسه ۲۷ : آموزش الگو ها در ++C
      به اشتراک بگذارید


      دیدگاه کاربران
      1. تصویر کاربر
      2. تصویر کاربر
      3. تصویر کاربر
      4. تصویر کاربر
      5. تصویر کاربر