Главная страница
Навигация по странице:

  • Текст программы: set.h

  • Результат работы программы: Задание 1: Вывод

  • set.h

  • Технологии программирования практика 8. тп практика. Проектирование классов с наследованием


    Скачать 76.49 Kb.
    НазваниеПроектирование классов с наследованием
    АнкорТехнологии программирования практика 8
    Дата10.01.2023
    Размер76.49 Kb.
    Формат файлаdocx
    Имя файлатп практика.docx
    ТипИсследование
    #880613




    Тема: Проектирование классов с наследованием.

    Цель: получение практических навыков проектирования классов и исследование механизмов открытого наследования в С++.

    Задание 1.


    В соответствии с индивидуальным заданием (см. приложение) разработать базовый класс и производные классы, которые наследуют базовый по типу public. Базовый класс и классы-наследники должны иметь собственные свойства и методы. Создать несколько объектов для каждого производного класса. Для инициализации объектов использовать конструкторы. Разработать меню, обеспечивающее:

    • отображение свойств объектов на экране;

    • изменение какого-либо свойства объектов;

    • определение Вычисляемого показателя;

    • выход из программы.

    Вариант 10 – строительные материалы.

    Текст программы:

    set.h

    #include
    using namespace std;
    class Object {

    public:

    string name;

    int st, cost;

    Object() : name(""), st(0), cost(0) {}

    Object();

    void allCost();

    };
    class Material : public Object {

    public:

    string name;

    int mass, value;

    Material() :name(""), mass(0), value(0) { };

    Material();

    void density();

    };
    class Instrument : public Object {

    public:

    string scope_of_application;

    Instrument(): scope_of_application("") { }

    Instrument();

    void numbersWrench();

    };

    set.cpp:

    #include

    #include "set.h"
    using namespace std;
    Object::Object()

    {

    name = "";

    }
    void Object::allCost()

    {

    cout << "Общая стоимость: " << st * cost << endl;

    }
    Material::Material()

    {

    }
    void Material::density()

    {

    cout << "Плотность сыпучего материала: " << mass / value << endl;

    }
    Instrument::Instrument()

    {

    }
    void Instrument::numbersWrench()

    {

    int res;

    res = name.compare("инструменты");

    if (res == 0) {

    cout << "номера для покупки ";

    for (int i = 1; i < 16; i++) {

    cout << i << " ";

    }

    cout << endl;

    }

    }

    main.cpp:

    #include

    #include

    #include

    #include "set.h"
    using namespace std;
    int main() {

    SetConsoleCP(1251);

    SetConsoleOutputCP(1251);

    setlocale(LC_ALL, "Russian");

    int key;

    string s;

    Material mat1;

    Instrument inst1;
    do {

    cout << "Вы можете продолжить работу со следующими строительными материалами:"<< endl;

    cout << "1)Сыпучие материалы" << endl;

    cout << "2)Инструменты:" << endl;

    cout << "3)Выход:" << endl;

    cin >> key;

    if (key == 1)

    {

    cout << "Введите название сыпучего материала: ";

    cin >> mat1.name;

    cout << "Введите количество и цену сыпучего материала: ";

    cin >> mat1.st >> mat1.cost;

    cout << "Введите объём(м3) и массу сыпучего материала(кг): ";

    cin >> mat1.value >> mat1.mass;

    mat1.allCost();

    mat1.density();

    }

    else if (key == 2)

    {

    cout << "Введите название инструмента: ";

    cin >> inst1.name;

    cout << "Введите количество и цену инcтрумента: ";

    cin >> inst1.st >> inst1.cost;

    inst1.allCost();

    inst1.numbersWrench();

    }

    else {

    cout << ("Выход из программы");

    break;

    }

    cout << "Для выхода введите 0, для продолжение введите 1" << endl;

    cin >> key;

    } while (key != 0);


    return 0;

    }

    Результат работы программы:

    Задание 1:



    Вывод:

    В ходе выполнения данной практической работы мне удалось поработать с классами и понять принцип работы наследования классов.

    В первой программе пользователь может ввести данные об строительных материалах и выполнить с ними определённые действия.

    В set.h описаны классы, в set.cpp реализация методов к ним, а в main.cpp – реализовано меню, с помощью которого пользователь может управлять программой.

    В результате были получены практические навыки по разработке классов с наследованием.


    написать администратору сайта