نمایش نتایج 1 تا 10 از 10

نام تاپیک: header file و cpp - پیاده سازی کلاس ؟

  1. #1
    کاربر دائمی آواتار Modifier
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    اصفهان دیار شیخ بهایی
    سن
    39
    پست
    611

    Question header file و cpp - پیاده سازی کلاس ؟

    سلام علیکم

    در ویژوال سی (++) وقتی کلاسی میسازیم 2 تا فایل میسازد یکی با پسوند h و دیگری cpp :

    1 - این طور که معلومه اینترفیس کلاس در h و پیاده سازی آن cpp نوشته میشود. آیا این طور است ؟

    2 - ایا در صورت درست بودن سوال بالا میتوان غیر از این عمل کرد ؟

    3 - اگر سوال 1 درست است چرا در کلاس فرمی که ایجاد میکنیم این گونه نیست ؟ البته مشخصه که سازنده و مخرب بصورت inline پیاده سازی شده ولی چرا InitializeComponent در cpp پیاده ساری نشده ؟

    ممنون

    موفق باشید.

    یا علی

  2. #2

    نقل قول: header file و cpp - پیاده سازی کلاس ؟

    1- بله معمولا همین طور هست که قالب کلاس و متدهایی که قرار هست به صورت inline تعریف شوند در فایل .h ذخیره می شوند.

    2- بله ، شما می توانید فایل .h را پاک کنید و کلاس را در بالای فایل cpp. به همان صورت تعریف کنید.

    3- در کلاس دیالوگ ها هم به همین شکل هست و در دو فایل جداگانه ساخته می شود.

  3. #3
    کاربر دائمی آواتار Modifier
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    اصفهان دیار شیخ بهایی
    سن
    39
    پست
    611

    Question نقل قول: header file و cpp - پیاده سازی کلاس ؟

    سلام علیکم

    نقل قول نوشته شده توسط Nima_NF مشاهده تاپیک
    2- بله ، شما می توانید فایل .h را پاک کنید و کلاس را در بالای فایل cpp. به همان صورت تعریف کنید.
    اگر فایل .h رو پاک کنیم در صورتی که بخواهیم از این کلاس در کلاس دیگر استفاده کنیم در include چه چیز رو اضافه کنیم؟

  4. #4

    نقل قول: header file و cpp - پیاده سازی کلاس ؟

    برای این کار دیگر فایل هدری وجود ندارد که include شود، شما باید در سایر فایل ها که می خواهید از آن کلاس استفاده کنید قالب کلاس را دوباره در بالای همان فایل تعریف کنید (البته با کلمه کلیدی extern) که به دلیل تکرار، حجم کد ها را بالا می برد.

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

  5. #5
    کاربر دائمی آواتار Modifier
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    اصفهان دیار شیخ بهایی
    سن
    39
    پست
    611

    نقل قول: header file و cpp - پیاده سازی کلاس ؟

    سلام علیکم

    شاید بشه .cpp رو حذف کرد و کلاس و پیاده سازی آن رو در .h نوشت تا دیگه این مشکل هم پیش نیاد.
    این طور نیست ؟

    ممنون

    موفق باشید.

    یا علی

  6. #6

    نقل قول: header file و cpp - پیاده سازی کلاس ؟

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

    ضمنا اگر سوالات شما در زمینه دات نت هست که موضوع کاملا متفاوت هست و دیگر همه چیز بر مبنای تغییرات مایکروسافت در زبان ++c شده است.

  7. #7
    کاربر دائمی آواتار Modifier
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    اصفهان دیار شیخ بهایی
    سن
    39
    پست
    611

    نقل قول: header file و cpp - پیاده سازی کلاس ؟

    ضمنا اگر سوالات شما در زمینه دات نت هست که موضوع کاملا متفاوت هست و دیگر همه چیز بر مبنای تغییرات مایکروسافت در زبان ++c شده است.
    بله همینطوره ؟

    مگه مشکلی داره ؟

  8. #8
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491

    نقل قول: header file و cpp - پیاده سازی کلاس ؟

    مگه مشکلی داره ؟
    نه مشکلی نداره ولی C++‎/cli و قسمت managed آن، بیشتر شبیه به C#‎.net و vb.net به نظر میرسه تا ++standard c.

  9. #9
    کاربر دائمی آواتار Modifier
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    اصفهان دیار شیخ بهایی
    سن
    39
    پست
    611

    نقل قول: header file و cpp - پیاده سازی کلاس ؟

    نه مشکلی نداره ولی C++‎/cli و قسمت managed آن، بیشتر شبیه به C#‎.net و vb.net به نظر میرسه تا ++standard c.
    با این توصیفات به نظر من مشکل دار شده.
    چون استانداردی که جهانی شده و همه با اون کار میکنن چرا باید تغییر کنه.
    با اینکه C++‎ مثل java کاملا OO نیست ولی با این کار ها چون میخوان برای کاربر کار ها راحتر باشه دیگه کم کم داره کله C++‎ رو زیر سوال میبرن.

    هر زبانی رو بهر کاری ساختند... بخصوص C++‎.
    ....

    یا علی

  10. #10

    نقل قول: header file و cpp - پیاده سازی کلاس ؟

    نقل قول نوشته شده توسط Modifier مشاهده تاپیک
    با این توصیفات به نظر من مشکل دار شده.
    چون استانداردی که جهانی شده و همه با اون کار میکنن چرا باید تغییر کنه.
    با اینکه C++‎ مثل java کاملا OO نیست ولی با این کار ها چون میخوان برای کاربر کار ها راحتر باشه دیگه کم کم داره کله C++‎ رو زیر سوال میبرن.

    هر زبانی رو بهر کاری ساختند... بخصوص C++‎.
    به خاطر همین هست که اکثریت برنامه نویسان از C++‎/CLI ناراضی هستند و برای کار دات نت دنبال #C و VB می روند و خود مایکروسافت هم این را تاکید کرده که توجهش در دات نت بر روی vb و #C هست. مایکروسافت هر سال تغییراتی بر زبان ++C به صورت غیر استاندارد می دهد و به نوعی آن را بی ثبات می کند تا بتواند با دات نت سازگار شود.
    مثلا به جای ^ ابتدا از *gc__ استفاده می کرد و سپس از سال 2005 به بعد آن را با ^ جایگزین کرد و خیلی موارد مشابه. (به همین خاطر می گویند syntax های مایکروسافتی نه استاندارد)

    پس اگر می خواهید C++‎/CLI کار کنید نباید کتاب ++C استاندارد را بخوانید، بلکه باید C++‎/CLI یا VC++‎.Net نسخه 2005 یا 2008 را مطالعه کنید.

    در مورد برنامه نویسی native هم که با ++C استاندارد انجام می شود قبلا توضیح دادم. (این بخش همچنان استاندارد مانده و البته محبوب)

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

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