close
تبلیغات در اینترنت
سازنده ها و مخرب ها در وراثت
مرورگرهای پیشنهادی :
موضوعات
  • مهندسی کامپیوتر و IT
  • پایان نامه مهندسی کامپیوتر
  • پایان نامه فناوری اطلاعات IT
  • جزوات مهندسی کامپیوتر و IT
  • مقالات ترجمه شده کامپیوتر و IT
  • مهندسی عمران
  • پاورپوینت مهندسی عمران
  • جزوات مهندسی عمران
  • پایان نامه مهندسی عمران
  • رشته مدیریت (تمامی گرایش ها)
  • مقالات ترجمه شده رشته مدیریت
  • پایان نامه رشته مدیریت
  • پاورپوینت رشته مدیریت
  • رشته حقوق (تمامی گرایش ها)
  • پایان نامه رشته حقوق
  • جزوات رشته حقوق
  • کار تحقیقی رشته حقوق
  • پژوهش های قانون اساسی
  • پایان نامه و مقاله فنی مهندسی
  • مهندسی برق ، الکترونیک ، مخابرات
  • مهندسی مکانیک
  • مهندسی معماری
  • مهندسی ساخت و تولید
  • مهندسی منابع طبیعی
  • مهندسی کشاورزی
  • مهندسی شیلات
  • مهندسی صنایع
  • مهندسی مواد
  • مهندسی نقشه برداری
  • مهندسی تاسیسات
  • مهندسی شیمی
  • مهندسی متالوژی
  • مهندسی نساجی
  • مهندسی معدن
  • مهندسی نفت
  • محیط زیست
  • جوشکاری
  • پایان نامه و مقاله علوم انسانی
  • اقتصاد
  • جهانگردی
  • حسابداری
  • تربیت بدنی
  • ادبیات فارسی
  • علوم سیاسی
  • علوم اجتماعی
  • مدیریت صنعتی
  • مدیریت روابط عمومی
  • روانشناسی و علوم تربیتی
  • گرافیک
  • هنر
  • بیمه
  • صنایع دستی
  • پاورپوینت - پایان نامه و مقاله پزشکی
  • بهداشت عمومی
  • روان پزشکی
  • پزشکی
  • ژنتیک
  • پایان نامه و مقاله علوم پایه
  • زیست شناسی
  • زمین شناسی
  • دندانپزشکی
  • دامپزشکی
  • پزشکی
  • جزوات دانشگاهی
  • جزوات دروس مشترک دانشگاهی
  • جزوات مهندسی برق
  • جزوات مهندسی مکانیک
  • جزوات رشته حسابداری
  • جزوات مهندسی فیزیک
  • جزوات مهندسی معماری
  • جزوات مهندسی ریاضی
  • جزوات مهندسی صنایع
  • جزوات مهندسی شیمی
  • جزوات رشته روانشناسی
  • جزوات مهندسی مخابرات
  • جزوات رشته مدیریت
  • جزوات تربیت بدنی
  • کامپیوتر و IT
    برق
    عمران
    مکانیک
    عمومی
    پزشکی
  • پایان نامه بررسی چالشهای امنیتی در محاسبات ابری و راهکارهای کاهش آن
  • پایان نامه ارائه مدلی برای سیستم­های توصیه گر در شبکه های مبتنی بر اعتماد
  • پایان نامه بررسی تغییرات رابط کاربری بر نحوه تعامل کاربر با شبکه های اجتماعی
  • پایان نامه الگوریتم طبقه بندی k نزدیک ترین همسایه فازی داده برای محرمانگی در محاسبات ابری
  • دانلود فایل ورد پایان نامه (Word) بررسی شبکه های کامپیوتری سخت افزار و نرم افزار شبکه
  • دانلود پایان نامه ارائه یک سیستم تشخیص ورود به شبکه کامپیوتری با استفاده از الگوریتم فراابتکاری
  • دانلود فایل ورد پایان نامه Word نهان نگاری تصاویر دیجیتال با استفاده از تبدیلات موجک چندگانه
  • پایان نامه استفاده از شبکه های نرم افزار محور(SDN) مدیریت زیرساخت شبکه های اجتماعی (CN)
  • دانلود فایل ورد پایان نامه Word امکان سنجی کاربرد یادگیری سیار در ایران
  • دانلود پایان نامه ارشد : نسل آینده ی سیستم های کامپیوتری: اینترنت اشیاء (IOT)
  • پایان نامه بررسی ساختار شبکه های ATM
  • پایان نامه استفاده از شبکه عصبی مصنوعی مبتنی برالگوریتم رزونانس تطبیقی دربازشناسی چهره
  • رفع ماتی از تصاویر چهره به منظور استفاده در یک سیستم بازشناسی چهره
  • ارائه مدلی برای حل مسائل ارضاء محدودیت با استفاده از سیستمهای چند عامله
  • اندازه گیری بلوغ حاکمیت معماری سرویس گرایی سازمان با استفاده از چارچوب COBIT
  • در صورتی که مقاله یا پایان نامه و جزوه مورد نظر خود را در اینجا پیدا نکردید، ناقص و یا حذف شده باشد به سایت ام پی فایل مراجعه کنید

    www.mpfile.ir (اینجا کلیک کنید)

    یا به شماره 09395794439 پیامک بزنید

    سازنده ها و مخرب ها در وراثت

    کلاس پايه و مشتق شده هر يک می تواند شامل توابع سازنده و مشتق شده باشند. وقتی شیئی ايجاد می شود کامپايلر تضمين می کند که کليه سازنده ها فراخوانی می شوند. در سلسله مراتب وراثت فراخوانی سازنده ها از ريشه شروع می شود. در هر سطح ابتدا سازنده کلاس پايه سپس سازنده کلاس مشتق شده فراخوانی می شود. مخرب ها برعکس ترتيب فراخوانی سازنده ها فراخوانی می شوند.

    مثال. در برنامه زير کلاس Derived2 از کلاس Derived1 که خود از Base1 ارث بری دارد ارث می برد.

    #include <iostream.h>
    class Base1 {
       int x;
    public:
       Base1 () {cout << "Base1 constructorn";}
       ~Base1() {cout << "Base1 destructorn";}
    };
    class Derived1 : public Base1 {
       int y;
    public:
       Derived1() { cout << "Derived1 constructorn";}
       ~Derived1() { cout << "Derived1 destructorn";}
    };
    class Derived2 : public Derived1 {
       int z;
    public:
       Derived2() { cout << "Derived2 constructorn";}
       ~Derived2() { cout << "Derived2 destructorn";}
    };
    int main() {
       Derived2 d2;
       return 0;
    }

    خروجی برنامه به صورت زير است:

    Base1 constructor
    Derived1 constructor
    Derived2 constructor
    Derived2 destructor
    Derived1 destructor
    Base1 destructor


    نکته. ترتيب فراخوانی سازنده ها و مخرب ها در در توارث چندگانه هم صدق می کند. سازنده ها به ترتيبی که در ليست مشخص شده اند از چپ به راست فراخوانی می شوند. و مخرب ها برعکس.


    ارسال پارامتر به سازنده کلاس پايه

    زمانی که تنها سازنده کلاس مشتق شده دارای آرگومان است می توان به سادگی و به صورت متعارف آرگومان را به سازنده ارسال نمود. اما برای ارسال آرگومان به سازنده کلاس پايه دچار مشکل می شويد چون سازنده کلاس مشتق شده به داده خصوصی کلاس پايه دسترسی ندارد و نمی تواند آنها را مقداردهی کند. برای اين کار C++ گرامری را در اختيار می گذارد که ليست مقداردهی سازنده (constructor initializer list) نام دارد. ليست مقداردهی سازنده امکان فراخوانی صريح سازنده ها از اشيای عضو را می دهد. فرم کلی آن برای سازنده کلاس مشتق شده به صورت زير است:

    Derived(arg_list) : Base1(arg_list), Base2(arg_list), ...
    { //body of derived constructor}

    نام کلاس های پايه توسط کاما از هم جدا می شوند. Base1 و Base2 و ... نام کلاس های پايه هستند که توسط کلاس مشتق شده Derived به ارث برده می شوند. سازنده ها همگی قبل از اينکه وارد بدنه سازنده کلاس مشتق شده شويد فراخوانی می شوند.


    مثال. کلاس Circle از کلاس Point مشتق شده است. در سازنده کلاس Circle سازنده Coint فراخوانی می شود.

    #include <iostream.h>
    class Point {
       int x,y;
    public:
       Point(int atx,int aty ) {x = atx; y = aty;}
       ~Point(){ cout << "Point Destructor calledn";}
       virtual void Draw() { cout << "Draw point at " << x << " " << y << endl;}
    };
    class Circle : public Point {
       int radius;
    public:
       Circle(int atx, int aty, int theRadius) ;
       ~Circle() ;
       virtual void Draw() ;
    };
    Circle::Circle(int atx,int aty,int theRadius) : Point(atx,aty) {
       radius = theRadius;
    }
    inline Circle::~Circle() {
       cout << "Circle Destructor called" << endl;
    }
    void Circle::Draw( void ) {
       Point::Draw();
       cout << "circle::Draw point " << " Radius " << radius << endl;
    }
    int main() {
       Circle ACircle(10,10,5) ;
       ACircle.Draw();
       return 0;
    }


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

    در صورتی که مقاله یا پایان نامه و جزوه مورد نظر خود را در اینجا پیدا نکردید، ناقص و  یا حذف شده باشد به سایت ام پی فایل مراجعه کنید

    www.mpfile.ir (اینجا کلیک کنید)

    یا به شماره 09395794439 پیامک بزنید

    درباره :
    برچسب ها : سازنده ها و مخرب ها در وراثت , ارسال پارامتر به سازنده کلاس پايه ,
    بازدید : 1600 تاریخ : نویسنده : بهرام محمدپور | نظرات ()
    ارسال نظر برای این مطلب

    نام
    ایمیل (منتشر نمی‌شود) (لازم)
    وبسایت
    :) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
    نظر خصوصی
    مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
    کد امنیتیرفرش کد امنیتی
    مطالب پربازدید
    مطالب تصادفی
    مطالب پیشین
  • کار تحقیقی بررسی تطبیقی اجاره اشخاص در قانون مدنی و قانون کار (شنبه 10 شهریور 1397)
  • کار تحقیقی بررسی تحلیلی ماده ۱۰ قانون مدنی (شنبه 10 شهریور 1397)
  • کار تحقیقی بررسی بیع متقابل نفتی در ایران و کشورهای بین الملل (شنبه 10 شهریور 1397)
  • کار تحقیقی بررسی بیع عین مرهونه توسط راهن از منظر فقه و حقوق مدنی (شنبه 10 شهریور 1397)
  • کار تحقیقی بررسی آثار فروش عین مرهونه در حقوق ایران (شنبه 10 شهریور 1397)
  • کار تحقیقی بررسی امکان تبدیل موسسات غیر تجارتی به شرکتهای تجاری (شنبه 10 شهریور 1397)
  • کار تحقیقی بررسی اوراق مشارکت از دیدگاه حقوقی ایران (شنبه 10 شهریور 1397)
  • کار تحقیقی بررسی اماره تصرف «قاعده ید» و جایگاه آن در قانون مدنی ایران (شنبه 10 شهریور 1397)
  • کارتحقیقی بررسی اقرار در امور کیفری و امور حقوقی در حقوق ایران (شنبه 10 شهریور 1397)
  • کارتحقیقی بررسی اعراض در فقه امامیه و حقوق ایران (شنبه 10 شهریور 1397)
  • کارتحقیقی بررسی اعاده دادرسی در امور کیفری قانون آیین دادرسی کیفری جدید در حقوق ایران (جمعه 09 شهریور 1397)
  • کارتحقیقی بررسی اشتباه و تاثیر آن در عقد نکاح در حقوق ایران (جمعه 09 شهریور 1397)
  • کارتحقیقی بررسی اصل استقلال امضاءها و عدم توجه ایرادات در اسناد تجاری در حقوق ایران (جمعه 09 شهریور 1397)
  • کارتحقیقی بررسی ارکان و شرایط عقود عینی در حقوق ایران (جمعه 09 شهریور 1397)
  • کارتحقیقی بررسی اختلافات ایران و عربستان در یمن از دیدگاه حقوقی (جمعه 09 شهریور 1397)
  • آمار سایت
  • کل مطالب : 3910
  • افراد آنلاین : 8
  • تعداد اعضا : 2920
  • بازدید امروز : 2,180
  • باردید دیروز : 3,326
  • گوگل امروز : 9
  • گوگل دیروز : 21
  • بازدید هفته : 17,299
  • بازدید ماه : 75,552
  • بازدید سال : 431,654
  • بازدید کلی : 6,003,177
  • کدهای اختصاصی