Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lawlliet
2 / 2 / 0
Регистрация: 25.03.2010
Сообщений: 145
#1

Классы аквариум и обогреватель. Класс обработчик реализует поддержание заданной температуры в аквариуме - C++

08.09.2012, 11:50. Просмотров 938. Ответов 4
Метки нет (Все метки)

Помогиет пожайлуста..расшифруйте что делать..или помогите сделать. В универе новый предмет Объектно ориентированное програмирование, была всего одна лекция ,дали лабораторну.Что делать с ней незнаю. Если можно оюъясните как нибудь по проще..или если есть что нибудь аналогичное.

"разработать класс и программу, которая демонстирует его возможности. Требования к классу:
- продумать атрибуты класса и инкапсулировать их в закрытой части интерфейса класса;
-определить по крайней меретри конструктора; конструктор по умолчанию, конструктор с параметрами и конструктор копии;
-задать набор методов для получения значений и модификаций элементов-данных, находящихся в закрытой части класса;
- требуеться продемонстировать работу с кассом в функции main() .По мимо этого необходимо показать:
-создание экземпляра тремя способами: без параметров с последующим заполнением полей, с вызовом конструктора с параметрами, создание копии на основании имеющегося экземпляра.
-вывод информации на экран.
-работу конструкторов и деструкторов экземпляров.

Ниже приведен класс и рекеомедуемый перечсень операций над оюъектами, которые необходимо продемонстрировать.



Классы аквариум и обогреватель. Класс обработчик реализует поддержание заданной температуры в аквариуме путем включения и выключения обогревателя, а так же измерение температуры.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2012, 11:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Классы аквариум и обогреватель. Класс обработчик реализует поддержание заданной температуры в аквариуме (C++):

Определить иерархию рыб и рептилий (классы и наследование). Создать аквариум. - C++
Аквариум. Определить иерархию рыб и рептилий. Создать аквариум. Посчитать общую цену вместе со стоимостью аксессуаров. 1. Приложение...

Создать класс который реализует динамический массив - C++
Доброго времени суток! Помогите с такой задачей - Создать класс который реализует динамический массив(нельзя использовать шаблон...

Абстрактные классы, ошибка "Класс не реализует наследуемый абстрактный член" - C#
Пишет, Ошибка 2 "WindowsFormsApplication6.MFControllerBool" не реализует наследуемый абстрактный член...

Абстрактные классы, ошибка "Класс не реализует наследуемый абстрактный член" - C#
Всем доброго времени суток. Я новичок в этом деле. Помогите с следующим вопросом. Выдает ошибки: Ошибка 1 "KURSACH.Form1.triangle" не...

Резидентный обработчик прерывания, который реализует вывод цветного символа - Assembler
Может кто-нибудь помочь бесплатно найти или решить эту задачу? Заранее спасибо за помощь! Разработать резидентный обработчик прерывания,...

Реализует ли класс интерфейс - C#
Динамически загружается библиотека (.dll) с единсвенным классом А . Нужно определить , Реализует ли класс А интерфейс IMyInterface

4
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
08.09.2012, 11:59 #2
для начала открыть литературу и почитать про ООП
0
Kastaneda
Форумчанин
Эксперт С++
4655 / 2863 / 228
Регистрация: 12.12.2009
Сообщений: 7,274
Записей в блоге: 2
Завершенные тесты: 1
08.09.2012, 15:04 #3
Цитата Сообщение от Lawlliet Посмотреть сообщение
Требования к классу:
- продумать атрибуты класса и инкапсулировать их в закрытой части интерфейса класса;
-определить по крайней меретри конструктора; конструктор по умолчанию, конструктор с параметрами и конструктор копии;
-задать набор методов для получения значений и модификаций элементов-данных, находящихся в закрытой части класса;
- требуеться продемонстировать работу с кассом в функции main() .По мимо этого необходимо показать:
-создание экземпляра тремя способами: без параметров с последующим заполнением полей, с вызовом конструктора с параметрами, создание копии на основании имеющегося экземпляра.
-вывод информации на экран.
-работу конструкторов и деструкторов экземпляров.
Не знаю в какое место это все засунуть, вот накидал что-то на коленке
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#include <iostream>
#include <cstdlib>
#include <ctime>
 
template <class T>
class ObservedObject
{
public:
    ObservedObject(T val) : optimalVal(val) {}
 
    T getOptimalVal () const
    {
        return optimalVal;
    }
 
    virtual T getCurrentVal()const = 0;
    virtual void valUp() = 0;
    virtual void valDown() = 0;
 
private:
    T optimalVal;
};
 
class Device
{
public:
    enum state {ON, OFF};
 
    Device(std::string name) : deviceName(name), deviceState(OFF) {}
 
    bool isOn () const
    {
        return deviceState == ON;
    }
 
    void on()
    {
        deviceState = ON;
    }
 
    void off()
    {
        deviceState = OFF;
    }
 
 
    std::string getDeviceName () const
    {
        return deviceName;
    }
 
    std::string getState () const
    {
        return deviceState == ON ? "ON " : "OFF";
    }
 
private:
    std::string deviceName;
    state deviceState;
};
 
class Aquarium : public ObservedObject<int>
{
    static const int defaultTemp = 30;
public:
    Aquarium (int temp = defaultTemp) : ObservedObject<int>(defaultTemp), temperature(defaultTemp)
    {
        srand(time(NULL));
    }
 
    int getCurrentVal() const
    {
        return temperature;
    }
 
    void valUp ()
    {
        ++temperature;
    }
 
    void valDown()
    {
        --temperature;
    }
 
private:
    int temperature;
};
 
 
template <class T>
class Controller
{
public:
    Controller (Device &_dev, ObservedObject<T> &_ob) : dev(_dev), ob(_ob) {}
 
    void exec()
    {
        const T optVal = ob.getOptimalVal();
 
        while (true)
        {
            static int count = 0;
 
            T curVal = ob.getCurrentVal();
 
            if (optVal != curVal)
            {
                if (!dev.isOn())
                {
                    dev.on();
                }
 
                ob.valUp();
 
            }
            else
            {
                if (dev.isOn())
                {
                    dev.off();
                }
            }
 
            std::cout << "Temperature = " << curVal
                      << ", " << dev.getDeviceName() << " is " << dev.getState() << '\r';
 
            system("timeout 1 > nul"); // Sleep(1)
 
            // имитируем охлаждение аквариума на случайное число градусов каждые 5 секунд
            ++count;
            if ((!(count % 5)) && !dev.isOn())
            {
                for (int i = rand() % 5; i >= 0; i--)
                {
                    ob.valDown();
                }
            }
        }
    }
 
private:
    Device &dev;
    ObservedObject<T> &ob;
};
 
int main()
{
    Aquarium aquarium;
    Device heater("heater");
    Controller<int> ctrl(heater, aquarium);
 
    ctrl.exec();
 
    return 0;
}
по идее нагревание/охлаждение по другому надо сделать и я бы еще добавил, что-нибудь типа class Termometr, но уже лень. Да и код нужно по файлам разбить, а то все в куче - не красиво.
1
Lawlliet
2 / 2 / 0
Регистрация: 25.03.2010
Сообщений: 145
09.09.2012, 00:44  [ТС] #4
А вы не можете сделать красиво?)

просто правда очень надо)
0
Elboy
131 / 112 / 4
Регистрация: 01.09.2012
Сообщений: 288
09.09.2012, 00:54 #5
Цитата Сообщение от Lawlliet Посмотреть сообщение
А вы не можете сделать красиво?)
Цветочки в код вставить?? =)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2012, 00:54
Привет! Вот еще темы с ответами:

Класс не реализует член интерфейса - C#
Добрый вечер! Имеется безумно сложная лабораторная в которой я не могу вызвать методы и сделать так,чтобы второй класс унаследовался от...

Класс не реализует наследуемый абстрактный член - C#
Вылазит ошибка, что класс не реализует наследуемый абстрактный член, относительно метода IsEqual. Подскажите в чем проблема? abstract...

какие интерфейсы реализует класс String? - Java SE
Всех С Новым Годом ! Крепкого здоровья ! Удачи в новом году ! И всего самого наилучшего ! Есть такой вопрос : какие интерфейсы...

Реализовать класс Expression, который реализует интерфейс IExpression - C#
Начала изучать C#. На одном из сайтов нашла такую задачу. Объясните пожалуйста как ее решить. И что от меня требует поподробнее. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
09.09.2012, 00:54
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru