Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Лабораторная работа по "Информатике"

Автор:   •  Июнь 16, 2019  •  Лабораторная работа  •  1,036 Слов (5 Страниц)  •  557 Просмотры

Страница 1 из 5

Цель работы:

Научиться создавать классы с учетом правил предметной области. Уяснить необходимость скрытия некоторых свойств класса модификаторами private и protected.

Общее задание:

Создать класс, имеющий заданные свойства, обеспечить доступ к свойствам (запись и чтение значений свойств) с учетом заданных ограничений. Все конструкторы класса так же должны обеспечивать создание объекта с учетом заданных ограничений. Написать программу, демонстрирующую сохранение ограничений при любых действиях внешней программы над объектом.

Задание по варианту:

Класс

Свойства

Правила ПО

1

Монстр

Здоровье, сила

Суммарное значение здоровья и силы должно лежать в диапазоне от 2 до 150, каждое свойство должно лежать в диапазоне от 1 до 100. Если задаваемое значение не будет соответствовать условию, то автоматически присвоить ближайшее разрешенное.

Решение:

#include

#include

#include

using namespace std;

class Monster

{

public:

    Monster()

    {

    this->health=1;

    this->power=1;

    };

    Monster(int health=1,int power=1)

    {

    SetProperty(health,power);

    }

    void SetProperty(int health=1,int power=1)

    {

    if(health+power>150)

        {

       this->health=compare(health);

       if(power>50)

        this->power=50;

       else

        this->power=compare(power);

        }

     else

        {

        this->health=compare(health);

        this->power=compare(power);

        }

     }

    int getHealth()

    {

    return health;

    }

    int getPower()

    {

    return power;

    }

    int compare(int property)

    {

    if(property>100)

        {

        return 100;

        }

    else if(property<1)

        {

        return 1;

        }

    else

    {

     return property;

    }

    }

private:

    int health;

    int power;

};

int main()

{

    setlocale(0,"");

    Monster creep(0, 2);

        cout << "Monster creep;" << endl

                << "Health: " << creep.getHealth() << " "

                << "Power: " << creep.getPower() << "." << endl << endl;

        Monster boss(600, 8300);

        cout << "Monster boss(600, 8300);" << endl

                << "Health: " << boss.getHealth() << " "

...

Скачать:   txt (5.2 Kb)   pdf (102.5 Kb)   docx (18.3 Kb)  
Продолжить читать еще 4 страниц(ы) »
Доступно только на Essays.club