رفتن به مطلب
مرجع رسمی سی‌پلاس‌پلاس ایران

جستجو در تالارهای گفتگو

در حال نمایش نتایج برای برچسب های 'class'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


آی‌او‌استریم

چیزی برای نمایش وجود ندارد

چیزی برای نمایش وجود ندارد

تالارهای گفتگو

  • انجمن‌های آی او استریم
    • اخبار و اعلامیه‌های سایت
    • اسناد و قوانین مرجع
    • جلسات و دوره‌همی‌های آنلاین
    • پادکست‌های آموزشی
    • معرفی محصولات نوشته شده‌ بومی
    • مرکز نظرسنجی
    • مقالات و اسناد مشاوره‌ای
    • مرکز چالش برانگیز برنامه‌نویسان
    • رمز‌های موفقیت
    • ابزار‌ها و نرم‌افزارهای کاربردی برنامه‌نویسان حرفه‌ای
  • برنامه نویسی در C و ‏++C
    • سوالات عامیانه در رابطه با ++C مدرن
    • کتابخانه‌های استاندارد STL
    • کتابخانه بوست (Boost)
    • کتابخانه کیوت (Qt)
    • کتابخانه‌‌ی SDL
    • کتابخانه‌های گرافیکی Vulkan, OpenGL, Metal, Direct3D
    • کتابخانه‌‌ی OpenCV
    • کتابخانه‌‌ی Cuda
    • کتابخانه‌‌ی OpenMP
    • کتابخانه‌‌ی OpenCL
    • کتابخانه‌های دیگر
    • کامپایلر‌ها
    • کتابخانهٔ SFML
    • ابزار‌ها
  • استارتاپی و کسب‌و‌کار
    • استارتاپ‌ها
    • سرمایه گذاری
    • شتاب دهنده‌ها
    • پارک‌های علم و فناوری و مراکز رشد
    • مصاحبه با استارت‌آپ‌ها
    • قوانین حقوقی
    • داستان‌های موفقیت
    • کارآفرینان و متخصصین
    • مشاوره اجرای کسب‌وکار
    • اخبار حوزه‌ی استارتا‌پی
    • آگهی‌های استخدامی
  • ابزار‌های ساخت و ساز
    • ابزار CMake
    • ابزار QMake
    • ابزار Qbs
    • ابزار Make و Autotools
  • طراحی و توسعه وب
  • طراحی و توسعه وب اپلیکیشن‌ها
    • طراحی و توسعه در Angular
    • طراحی و توسعه در React.JS
    • طراحی و توسعه در Vue.JS
  • طراحی و توسعه موبایل و اِمبِد‌ها و تلوزیون‌ها
    • برنامه نویسی تحت محصولات اپل
    • برنامه نویسی تحت محصولات گوگل
    • طراحی و توسعه تحت محصولات دیگر
  • برنامه‌نویسی سطح پایین و سیستم عامل‌ها
    • سیستم عامل‌های آزاد
    • سیستم عامل‌های تجاری
    • مباحث آموزشی مرتبط با سیستم‌عامل
  • شبکه و اینترنت
    • مباحث و منابع آموزشي
    • سوالات و مشکلات
  • بانک‌های اطلاعاتی
  • برنامه نویسی تحت محصولات اپل
  • برنامه نویسی تحت محصولات مایکروسافت
  • طراحی و توسعه تجربه کاربری (UX) و رابط کاربری (UI)
  • سوالات و مباحث عامیانه
  • سطل آشغال

Product Groups

  • کتاب‌ها و مقالات آموزشی

تقویم ها

دسته ها

  • علمی
  • استارتاپی
  • برنامه‌نویسی
    • زبان‌های برنامه نویسی
    • معماری‌ها
  • کامپایلر و مفسر
  • محیط‌های توسعه
  • طراحی و توسعه‌ی وب
  • مجوز‌های نرم‌افزاری
  • فناوری‌ها
    • پردازش تصویر
    • اینترنت اشیاء
    • پردازش ابری (Cloud Computing)
    • چند سکویی (Cross-Platform)
    • بیگ دیتا (Big Data)
    • هوش مصنوعی (AI)
    • سخت افزار
    • نرم‌افزار و اپلیکیشن
    • اینترنت و شبکه
    • رمزنگاری
    • امبد‌ها (Embedded)
  • طراحی
    • تجربه کاربری
    • رابط کاربری

دسته ها

  • عمومی

دسته ها

  • عمومی
  • گرافیکی
  • شبکه و ارتباطات

دسته ها

  • کامپایلر‌ها
  • محیط‌های توسعه
  • کتابخانه‌ها
  • ماژول‌ها و پلاگین‌ها
  • محصولات بومی
  • کتاب‌ها و مقالات
  • زبان‌ها و ابزار‌ها
  • طراحی و گرافیک

جستجو در ...

نمایش نتایجی که شامل ...


تاریخ ایجاد

  • شروع

    پایان


آخرین بروزرسانی

  • شروع

    پایان


فیلتر بر اساس تعداد ...

تاریخ عضویت

  • شروع

    پایان


گروه


درباره من


شماره تلفن همراه


شناسه گیت‌هاب


شناسه لینکدین


شناسه پیام رسان


شهر


آدرس پستی

2 نتیجه پیدا شد

  1. سلام در صورتی که تعاریف توابع عضو کلاس (class function member definition) را در همان فایل anothertest.h قرار دهیم برنامه بدون مشکلی اجرا میشود. اما در صورتی که تعاریف توابع را به داخل فایل anothertest.cpp انتقال دهیم ، برنامه کامپایل ولی با خطای لینکر مواجه میشود. دلیل این اتفاق چیست ؟ --ویرایش : پس از جستجویی که انجام دادم متوجه شدم که به دلیل اینکه کامپایلر برای هر نمونه از template هایی که ما نیاز داریم یک نسخه جداگانه درست میکند. مثلا در کد زیر. کد باید به این صورت تغییر کند : class TemplateTest{ private : int ClassVariable; public : TemplateTest(const int& input); int ReturnClassVariable(void); }; Git Diff #ifndef ANOTHERTEST_H #define ANOTHERTEST_H -template <class AnotherType> class TemplateTest{ private : - AnotherType ClassVariable; + int ClassVariable; public : - TemplateTest(const AnotherType& input); - AnotherType ReturnClassVariable(void); + TemplateTest(const int& input); + int ReturnClassVariable(void); }; #endif // ANOTHERTEST_H و از آنجایی که تعاریف کلاس ها در فایل دیگری قرار دارد. کامپایلر فراموش به نمونه سازی از آنها میکند. و به این دلیل است که با خطای لینکر مواجه میشویم. و برای رفع این مشکل باید تعاریف توابع را نیز در فایل anothertest.h قرار بدهیم. با این اوصاف آیا روش دیگه ای هست که از template ها در فایل های جداگانه استفاده کنیم ؟ anothertest.h #ifndef ANOTHERTEST_H #define ANOTHERTEST_H template <class AnotherType> class TemplateTest{ private : AnotherType ClassVariable; public : TemplateTest(const AnotherType& input); AnotherType ReturnClassVariable(void); }; #endif // ANOTHERTEST_H anothertest.cpp #include "anothertest.h" template<class AnotherType> TemplateTest<AnotherType>::TemplateTest(const AnotherType &input) : ClassVariable(input){ } template<class AnotherType> AnotherType TemplateTest<AnotherType>::ReturnClassVariable(){ return this->ClassVariable; } main.cpp #include <iostream> #include "anothertest.h" int main(){ TemplateTest<int> AnotherTemplate(100); std::cout << AnotherTemplate.ReturnClassVariable () << std::endl; return 0x0000; }
  2. با سلام. بنده خروجی کد اسمبلی تولید شده Struct و Class را بررسی کردم ظاهرا که خروجی یکسانی دارند ! آیا واقعا دیگر تفاوتی بین کلمه‌کلیدی struct و class در سی‌پلاس‌پلاس نیست ؟ struct.cpp struct AnotherType{ public : int StructType; }; int main(){ AnotherType Object; return 0; } class.cpp class AnotherType{ public : int ClassType; }; int main(){ AnotherType Object; return 0; } و خروجی های اسمبلی تولید شده : struct.cpp [ghasem@clibcore test]$ g++ -S struct.cpp -o Struct && cat Struct .file "struct.cpp" .text .globl main .type main, @function main: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 movl $0, %eax popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE0: .size main, .-main .ident "GCC: (GNU) 8.2.1 20181105 (Red Hat 8.2.1-5)" .section .note.GNU-stack,"",@progbits class.cpp [ghasem@clibcore test]$ g++ -S class.cpp -o Class && cat Class .file "class.cpp" .text .globl main .type main, @function main: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 movl $0, %eax popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE0: .size main, .-main .ident "GCC: (GNU) 8.2.1 20181105 (Red Hat 8.2.1-5)" .section .note.GNU-stack,"",@progbits و برای اطمینان خروجی حاصل از دستور diff Struct Class : [ghasem@clibcore test]$ diff Struct Class 1c1 < .file "struct.cpp" --- > .file "class.cpp"
×
×
  • جدید...