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





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





نمایش نتایج: از 1 به 6 از 6
  1. #1
    تاریخ عضویت
    2020/03/28
    نوشته ها
    3
    0
    Junior Member

    Smile سوال در مورد توابع در c++

    1/ در مورد توابع هم شکل و یا توابع چند شکلی, با 4 تابع یا بیشتر, توضیح میخواستم. با مثال
    متوجهش نمیشم. خیلی هم سرچ کردم به جواب درستی نرسیدم.



    2 / و در مورد کاربرد تابع abort هم همینطور. توضیح با مثال


    ممنون میشم
  2. #2
    تاریخ عضویت
    2017/11/22
    نوشته ها
    364
    240
    Administrator
    درمورد سوال اول....مفهوم توابع چند شکلی (چند ریختی) خیلی ساده است....یعنی یه تابع که چند تا شکل مختلف از اون تعریف شده...و میشه اون رو به شکل های مختلف فراخوانی کرد...کجاشو متوجه نمیشین؟


    درمورد سوال دوم...اگر برای خروج از برنامه از تابع exit استفاده بشه...کل فرآیند های مربوط به پروسه اصلی قطع میشه....مثلا اگه فایلی باز شده باشه بسته میشه...همه فایل های موقتی پاک میشن...بافر رو flush میکنه...و یک عدد باز میگردونه که نشان دهنده وضعیت برنامه در حال بسته شدنه...اما تابع abort برخلاف تابع exit ممکنه فایلی که باز شده باشه رو نبنده، فایل های موقتی رو پاک نکنه، بافر رو flush نکنه و همچنین اگه از abort برای خروج استفاده بشه توابعی که با تابع atexit (این تابع به عنوان ورودی یه تابع میگیره و هنگامی که برنامه به صورت عادی بخواد بسته شه اون تابع هایی که بهش داده شدن رو فراخوانی میکنه)ثبت شدن فراخوانی نمیشن.
  3. #3
    تاریخ عضویت
    2020/03/28
    نوشته ها
    3
    0
    Junior Member
    نقل قول نوشته اصلی توسط AmRo نمایش پست ها
    درمورد سوال اول....مفهوم توابع چند شکلی (چند ریختی) خیلی ساده است....یعنی یه تابع که چند تا شکل مختلف از اون تعریف شده...و میشه اون رو به شکل های مختلف فراخوانی کرد...کجاشو متوجه نمیشین؟ درمورد سوال دوم...اگر برای خروج از برنامه از تابع exit استفاده بشه...کل فرآیند های مربوط به پروسه اصلی قطع میشه....مثلا اگه فایلی باز شده باشه بسته میشه...همه فایل های موقتی پاک میشن...بافر رو flush میکنه...و یک عدد باز میگردونه که نشان دهنده وضعیت برنامه در حال بسته شدنه...اما تابع abort برخلاف تابع exit ممکنه فایلی که باز شده باشه رو نبنده، فایل های موقتی رو پاک نکنه، بافر رو flush نکنه و همچنین اگه از abort برای خروج استفاده بشه توابعی که با تابع atexit (این تابع به عنوان ورودی یه تابع میگیره و هنگامی که برنامه به صورت عادی بخواد بسته شه اون تابع هایی که بهش داده شدن رو فراخوانی میکنه)ثبت شدن فراخوانی نمیشن.






    برای سوال اول. محدودیتی تو معرفی تابع نداریم؟؟؟ هر تابعی میشه؟





    و برای پاسخ سوال دوم هم, خیلی ممنونم
  4. #4
    تاریخ عضویت
    2017/11/22
    نوشته ها
    364
    240
    Administrator
    تا جایی که من میدونم محدودیتی به جز مواردی که برای تعریف تابع هم شکل در دستور العمل زبان برنامه نویسی سی پلاس پلاس گفته شده وجود نداره.
  5. #5
    تاریخ عضویت
    2020/03/28
    نوشته ها
    3
    0
    Junior Member
    نقل قول نوشته اصلی توسط AmRo نمایش پست ها
    تا جایی که من میدونم محدودیتی به جز مواردی که برای تعریف تابع هم شکل در دستور العمل زبان برنامه نویسی سی پلاس پلاس گفته شده وجود نداره.




    خیلی ممنون



    در مورد تفاوت enum و typedef هم میتونید توضیحی بدین؟؟
  6. #6
    تاریخ عضویت
    2017/11/22
    نوشته ها
    364
    240
    Administrator
    سلام...با استفاده از کلمه کلیدی enum ما میایم یه نوع شمارشی برای داده های عددی درست میکنیم تا خوانایی کد بهتر بشه...مثلا برای جنسیت اگه داخل شرطی بنویسم if gender == 1 شاید موقع نوشتن کد بفهمی عدد 1 مثلا مشخص کننده جنسیت زنه...ولی وقتی بعدا بخوای کدت رو بخونی....نمیتونی بفهمی که عدد یک برای چیه..حالا اگه به جای اون یه enum داشته باشی مثلا enum Gender { MALE = 0, FEMALE } ...شرط قبلی میشه مثل این if gender == FEMALE ... تو این حالت خوانایی کد بهتر میشه....در کل کارایی enum اینه که تعدادی مقادیر عددی مرتبط به هم رو به صورت readable در کنار هم نگه میداره...در مورد typedef....با استفاده از این کلمه کلیدی ما میایم برای یه نوعی مثلا {} struct Student یه نام مستعار درست مثلا typedef struct {} Student درست میکنیم....و موقع تعریف نوعی از این ساختار به جای نوشتن...struct Student student...مینویسم Student student...این کار تغییری در نوع متغیر student ایجاد نمیکنه...و هنگام کامپایل شدن کد...این Student student با این struct Student student جایگزین میشه ....در کل از typedef برای تعریف یک اسم کوتاه برای یک نوع داده بلند استفاده میشه.
نمایش نتایج: از 1 به 6 از 6

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •