advertise laitec sharif univercity
دانلود پایان نامه وب سایت مهندسی پزشکی با ASP.net

دانلود پایان نامه وب سایت مهندسی پزشکی با ASP.net

28000 تومان
دانلود سورس اپلیکیشن اندروید پیانو سنتی

دانلود سورس اپلیکیشن اندروید پیانو سنتی

14000 تومان
دانلود پروژه مهندسی نرم افزار ، نمایندگی ایران خودرو

دانلود پروژه مهندسی نرم افزار ، نمایندگی ایران خودرو

10000 تومان
دانلود سورس پروژه TSP با الگوریتم مورچگان Ants

دانلود سورس پروژه TSP با الگوریتم مورچگان Ants

10000 تومان
سیستم اتوماسیون دهیاری ، پروژه مهندسی نرم افزار

سیستم اتوماسیون دهیاری ، پروژه مهندسی نرم افزار

10000 تومان

قالب ها در سی پلاس پلاس ++C

قالب (template) یکی از ویژگی های قدرتمند زبان++C است که با استفاده از آن میتوان مجموعه کاملی از توابع مرتبط به هم (توابع همنام) را که توابع قالب نام دارند، یا مجموعه کاملی از کلاسهای مرتبط به هم را مشخص کرد
قالب ها در سی پلاس پلاس ++C

قالب ها در سی پلاس پلاس ++C

قالب (template) یکی از ویژگی های قدرتمند زبان C++ است. با استفاده از قالب ها میتوان مجموعه کاملی از توابع مرتبط به هم (توابع همنام) را که توابع قالب نام دارند، یا مجموعه کاملی از کلاسهای مرتبط به هم را که کلاسهای قالب نام دارند مشخص کرد. بعنوان مثال میتوان قالبی برای تابع مرتب سازی آرایه نوشت و C++ بطور خودکار توابع قالب دیگری را تولید کند که آرایه ای از نوع صحیح، آرایه ای از نوع اعشاری، آرایه ای از رشته ها و غیره، را مرتب کند. توابع همنام اعمال مختلفی را روی انواع گوناگونی از داده ها انجام میدهند. اگر این اعمال برای هر نوع، یکسان باشند، با استفاده از قالب های تابع راحتتر انجام میشوند. به عبارت دیگر، در توابع کلی، یک عمل بر روی انواع مختلفی از داده ها انجام میشود. برنامه نویس یک قالب تابع مینویسد و براساس انواع آرگومان هایی که در فراخوانی تابع ارائه میشوند، کامپایلر کد مناسبی را برای تابع تولید میکند تا هر نوع فراخوانی، به درستی انجام شود.

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

 

توابع کلی

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

میدانید که بسیاری از الگوریتم ها بر روی انواع مختلفی از داده ها عمل میکنند، بدون اینکه تغییراتی در آنها ایجاد شود. با ایجاد یک تابع کلی، میتوانید ماهیت الگوریتم را مستقل از هر نوع داده ای تعریف کنید. به این ترتیب کامپایلر کد مناسبی را برای داده ای که در زمان اجرای تابع مشخص میشود، تولید میکند. بطور کلی وقتی یک تابع کلی ایجاد میکنید، مثل این است که تابعی ایجاد میکنید که خودش را مجددا تعریف میکند.

تابع کلی با کلمه کلیدی template ایجاد میشود. این کلمه کلیدی قالبی را ایجاد میکند که عمل تابع را مشخص میکند و جزئیات امر را به کامپایلر واگذار می نماید. شکل کلی تعریف تابع قالب بصورت زیر است:

 

(لیست پارامترها)    نام تابع    نوع برگشتی   <نوع  کلاس>    template

{

           بدنه تابع               

}

 

در اینجا نوع نامی است که مشخص میکند چه نوع داده ای توسط تابع مورد استفاده قرار میگیرد. این نوع در هنگام اجرای برنامه مشخص میشود. این نام ممکن است در تعریف تابع به کار گرفته شود. وقتی کامپایلر نسخه خاصی از تابع را ایجاد میکند، نوع واقعی را در آن جا قرار میدهد. در دستور template میتوان بیش از یک نوع داده را تعریف کرد. در این صورت باید آنها را با کاما از هم جدا نمود.

گرچه تابع کلی در صورت نیاز، بطور ضمنی خودش را دوباره تعریف میکند ولی بطور صریح نیز قابل تعریف مجدد است. در این صورت این تابع مجددا تعریف شده تابع کلی را نسبت به آن نسخه خاص، پنهان میکند (نادیده میگیرد).

 

کلاس های کلی یا قالب های کلاس

علاوه بر تابع کلی کلاسها را نیز میتوان بصورت کلی تعریف کرد. در این صورت کلاسی ایجاد میشود که تمام الگوریتم هایی را که توسط آن استفاده میگردد، تعریف میکند. اما، نوع واقعی که باید مورد استفاده قرار گیرد هنگامیکه اشیایی از آن کلاس ایجاد میشوند، بصورت پارامتر مشخص میگردد. وقتی کلاس کلی ایجاد میشودعمل مورد نظر را میتواند بر روی هر نوع داده ای انجام دهد. براساس نوعی که هنگام ایجاد شی تعیین میکنید، کامپایلر کد شناسایی را تولید میکند. شیوه اعلان کلاس کلی بصورت زیر است:

 

نام کلاس   class   <نوع کلاس  >  template 

{

}

 

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

 



1
نظرات
  • user avatar ali:
    ۲۲:۵۳:۱۵ __ ۱۳۹۳/۱۱/۳۰

    سلام خسته نباشید :)چطوری کد c تعویض کنم به یه برنامه من یه کدی نوشتم ولی نمیدونم چطوری عوضش کنم به برنامه ممنون میشم اگه کمکم کنید مرسی

نظر خود را ارسال کنید



نام:
ایمیل:
دیدگاه:
captcha
کد امنیتی :


advertise
توابع و کلاس های قالب در سی پلاس پلاسtemplate ها در ++Cتوابع قالب در سی پلاس پلاسقالب توابع کلی در ++Cمعرفی template در ++Cقالب ها در سی پلاس پلاس ++C چه هستند؟آشنایی با قالب در زبان ++Cآموزش کار با با توابع کلی قالب در ++Cتبلیغات ارزان سایت آموزش برنامه نویسیتبلیغات مخصوص طراحان وب سایتتبلیغات در سایت برنامه نویسیتبلیغات اینترنتی برای برنامه نویساندر آغوش مینیمالیسممنوی همبرگر با سه خط افقی که روی یکدیگر قرار گرفته اند نشانه چیست؟ سوئیچ به یک ستون واحدتبدیل متن ساده به وبلاگ و سایت های پویا با React.jsکتابخانه sass برای استفاده آسان تر از آنکتابخانه سطح بالا برای اتوماتیک سازی اعمال مرورگر لیست برچسب ها
تمامی حقوق این سایت اعم از محتوی ، تصاویر ، قالب و ... متعلق به گروه مهندسی وب سایت سورس کد می باشد.
SourceCodes.ir ، افقی روشن برای برنامه نویسان ، از مبتدی تا حرفه ای

پیشنهادات ویژه سورس کد

پکیج ویژه پروژه پایانی رشته کامپیوتر دانلود مجموعه 70 پروژه کاربردی سی شارپ وب سایت فروشگاه با php