شما این محصولات را انتخاب کرده اید

سبد خرید

استفاده کردن از ارث‌بری در C++ برای ایجاد کلاس‌های مرتبط با ماشین‌های صنعتی
شناسه پست: 10470
بازدید: 22

استفاده کردن از ارث‌بری در C++ برای ایجاد کلاس‌های مرتبط با ماشین‌های صنعتی

توضیحات:

برای استفاده از ارث‌بری در C++ و ایجاد کلاس‌های مرتبط با ماشین‌های صنعتی، می‌توانید از یک کلاس پایه به نام Machine استفاده کنید و سپس از ارث‌بری این کلاس برای ایجاد کلاس‌های مختلفی مانند CNCMachine، LatheMachine، MillingMachine و غیره استفاده کنید که ویژگی‌ها و عملیات خاص خود را دارند.

در ادامه یک مثال از استفاده از ارث‌بری برای ایجاد کلاس‌های مرتبط با ماشین‌های صنعتی را مشاهده می‌کنید:

#include <iostream>
#include <string>

class Machine {
protected:
    std::string name;
    int id;
    float price;

public:
    Machine(std::string n, int i, float p) : name(n), id(i), price(p) {}

    void start() {
        std::cout << "Machine " << name << " starting...\n";
    }

    void stop() {
        std::cout << "Machine " << name << " stopping...\n";
    }

    void reset() {
        std::cout << "Machine " << name << " resetting...\n";
    }
};

class CNCMachine : public Machine {
private:
    int numAxes;

public:
    CNCMachine(std::string n, int i, float p, int axes) : Machine(n, i, p), numAxes(axes) {}

    void setNumAxes(int axes) {
        numAxes = axes;
    }

    int getNumAxes() {
        return numAxes;
    }

    void performCNCOperation() {
        std::cout << "CNC operation in progress on machine " << name << " with " << numAxes << " axes.\n";
    }
};

class LatheMachine : public Machine {
private:
    float maxTurningDiameter;

public:
    LatheMachine(std::string n, int i, float p, float diameter) : Machine(n, i, p), maxTurningDiameter(diameter) {}

    void setMaxTurningDiameter(float diameter) {
        maxTurningDiameter = diameter;
    }

    float getMaxTurningDiameter() {
        return maxTurningDiameter;
    }

    void performTurningOperation() {
        std::cout << "Turning operation in progress on lathe machine " << name << " with max turning diameter of " << maxTurningDiameter << " units.\n";
    }
};

int main() {
    CNCMachine cncMachine("CNC1", 201, 10000.0, 5);
    LatheMachine latheMachine("Lathe1", 301, 8000.0, 20.0);

    cncMachine.start();
    cncMachine.performCNCOperation();

    latheMachine.start();
    latheMachine.performTurningOperation();

    return 0;
}

در این مثال، کلاس Machine به عنوان کلاس پایه برای کلاس‌های CNCMachine و LatheMachine استفاده شده است. هر کدام از این کلاس‌ها ویژگی‌ها و عملیات خاص خود را دارند و از ویژگی‌ها و عملیات کلی کلاس Machine به عنوان کلاس پایه بهره می‌برند. از این روش می‌توانید به راحتی کلاس‌های مرتبط با ماشین‌های صنعتی را ایجاد و مدیریت کنید.

موفق باشید

A.J

پست های مرتبط:

شما می‌توانید از سورس های آماده به راحتی و با کپی پیست در پروژه خود استفاده بفرمایید

بله! سورسا به عنوان اولین و برترین مرجع سورس کد های آماده، تمامی سورس کد ها در زبان های مختلف را به صورت رایگان در اختیار شما قرار می‌دهد.

اگر سورس مد نظر شما تفاوتی با سورس فعلی دارد یا اینکه درخواست سورس دیگری را دارید می‌توانید با کارشناسان سورسا در ارتباط باشید.

سورسا به عنوان مرجع سورس در تلاش است سورس کد ها و آموزش های تمامی زبان های برنامه نویسی مانند GO C++ Python C PHP SQL JS و… را تحت پوشش قرار داد

اشتراک در
اطلاع از
guest

0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها