۳۴ مطلب با موضوع «برنامه نویسی شی گرا» ثبت شده است

سربارگذاری عمل گر ها (operator overloading) - قسمت دوم

سلام!

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

فرض کنید می خواهیم عمل گر += را پیاده سازی کنیم. برای این کار باید از متغیرهای مرجع استفاده کنیم. می توانید کد مربوط به آن را در کد زیر ببینید.

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

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

سلام!

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

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

سربارگذاری عمل گر ها (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 وجود دارد که دوست من است و می تواند از تمامی عضوهای من استفاده کند.

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

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

سلام!

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

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

ثابت ها (const ها)

سلام!

این جلسه به مبحثی می پردازیم که فقط مربوط به class نیست و ابعاد وسیع تری را در بر دارد.

به متغیری متغیر ثابت یا const گفته می شود که مقدار آن در طول برنامه قابل تغییر نیست و فقط مقداردهی اولیه را می پذیرد. مثلا شما می خواهید برنامه ای بنویسید که عددی را به عنوان شعاع ورودی بگیرد و مساحت دایره ای با آن شعاع را حساب کند. برای این کار شما به عدد پی نیاز دارید. برای این کار می نویسید:

int pi = acos(-1);
۰ نظر موافقین ۰ مخالفین ۰
روزبه صیادی