۵ مطلب با کلمه‌ی کلیدی «مبانی برنامه نویسی شی گرا» ثبت شده است

سربارگذاری عمل گر ها (operator overloading)

سلام!

در این جلسه قرار است در رابطه با عمل گر ها نکاتی را یاد بگیرید و چگونگی تغییر آن ها را بیاموزید.

فرض کنید یک class به نام Point نوشته اید که شامل دو مؤلّفه (x و y) است. این کار را جلسه ی پیش انجام دادید. اگر انجام ندادید می توانید از کد زیر استفاده کنید.

#include <iostream>
#include <cstdio>

using namespace std;

class Point{
    
    friend void set(Point*, int = 0, int = 0);

    private:

        int _x, _y;
        
        void setX(int);
        void setY(int);
    
    public:

        Point(int = 0, int = 0);

        int x() const;
        int y() const;

};

Point::Point(int x, int y){
    set(this, x, y);
}

void Point::setX(int x){
    this->_x = x;
}

void Point::setY(int y){
    this->_y = y;
}

int Point::x() const{
    return this->_x;
}

int Point::y() const{
    return this->_y;
}

void set(Point *point, int x, int y){
    point->setX(x);
    point->setY(y);
}

int main(){
    int x, y;
    scanf("%d %d", &x, &y);
    Point point(x, y);
    printf("X: %d\nY: %d\n", point.x(), point.y());
    return 0;
}

۰ نظر موافقین ۰ مخالفین ۰
روزبه صیادی

پاسخ تمرین های سری قبل

سلام!

پاسخ سوال های تمرین سری قبل را می توانید در ادامه ی مطلب مشاهده نمایید.

۰ نظر موافقین ۰ مخالفین ۰
روزبه صیادی

دوستی در کلاس ها (friendship)

سلام!

این مبحث‌ (مثل مباحث قبلی) مهم است؛ بنابراین دقت کنید.

این جلسه قرار است به مبحث دوستی در کلاس ها بپردازیم. با کمک این مفهوم شما می توانید به یک class اجازه بدهید که به عضوهای private (و protected) یک class دیگر دسترسی داشته باشد. مثلا فرض کنید که یک class دارید به نام A. برای این که به یک class (مثل B) اجازه بدهید که به عضوهای private و protected ازA دسترسی داشته باشد، می توانید در A بنویسید:

friend class B;

معنی این خط کد این است: یک class به نام B وجود دارد که دوست من است و می تواند از تمامی عضوهای من استفاده کند.

۰ نظر موافقین ۰ مخالفین ۰
روزبه صیادی

پاسخ تمرین های سری قبل

سلام!

می توانید پاسخ تمرین های سری قبل را در ادامه مشاهده کنید.

۰ نظر موافقین ۰ مخالفین ۰
روزبه صیادی

برنامه نویسی شی گرا (object oriented)

سلام

در این جلسه به طور پایه ای به مبحث برنامه نویسی شی گرا یا object oriented programming می پردازیم.

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

راه دومی هم وجود دارد که بسیار ساده تر است. شما می توانید مفهومی به نام آدم درست کنید و در همان مفهوم توابع مربوط به آدم را نیز درست کنید. سپس برای ساخت یک آدم تنها بنویسید:

Adam a;

در واقع شما یک «شی» به نام آدم درست کرده اید. استفاده از این مفهوم را برنامه نویسی شی گرا می نامند.

۰ نظر موافقین ۰ مخالفین ۰
روزبه صیادی