Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
5 / 5 / 1
Регистрация: 09.09.2012
Сообщений: 227

Как создать класс кот может создать general purpose counting objects

01.10.2012, 05:55. Показов 1177. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как создать класс (CounterType) кот может создать general purpose counting objects.
Этот объект содержит an integer count. но не может быть 0 или -(негативное число).
Необходимо включить след. members для CounterType:
- a private member variable to hold the count;
- a default constructor;
- an overloaded constructor that accepts a value for an initial count;
- two member functions that increment and decrement the count by one, respectively.
- a member function to return the current count
- a member function that accepts an argument of type ostream that writes the current count to that open output stream.

Нельзя разрешать сохранять негативные значения - в этом случае выводится ошибка.

Примерный тест:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main( )
{
    cout << "Testing the CounterType class";
 
    CounterType testOne, testTwo(50);
 
    cout << "\n\nInitial Values:\n"  << testOne.getCount() << " ";
    testTwo.outputCount(cout); 
 
    while (testOne.getCount() < 30)
        testOne.plusOne();
 
    while (testTwo.getCount() > 30)
        testTwo.minusOne();
 
    cout << "\n\nFinal Values:\n" << testOne.getCount() << " ";
    testTwo.outputCount(cout); 
 
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.10.2012, 05:55
Ответы с готовыми решениями:

Базовый класс – СМИ. Производные – телеканал и газета. Создать класс Холдинг, который может содержать оба вида объектов
Базовый класс – СМИ. Производные – телеканал и газета. Создать класс Холдинг, который может содержать оба вида объектов. Предусмотреть...

Как создать динамический массив типа string? Как создать класс такого массива?
Как создать динамический массив типа string? Как создать класс такого массива? =-O Помогите, пожалуйста, очень нужна помощь!

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ...
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

1
 Аватар для igorrr37
2878 / 2025 / 992
Регистрация: 21.12.2010
Сообщений: 3,779
Записей в блоге: 9
01.10.2012, 07:45
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
#include <iostream>
#include <stdexcept>
 
class CounterType
{
public:
    explicit CounterType(int count = 1) : count_(count)
    {
        if(count <= 0)
            throw std::invalid_argument("count <= 0");
    }
    void Increment()
    {
        ++count_;
    }
    void Decrement()
    {
        if(count_ > 1)
            --count_;
        else std::cerr << "count_ <= 1" << std::endl;
    }
    int Count() const
    {
        return count_;
    }
    std::ostream& OutputCount(std::ostream& ost)
    {
        return ost << count_;
    }
private:
    int count_;
};
 
int main()
{
    using namespace std;
    CounterType testOne, testTwo(50);
 
    cout << "\n\nInitial Values:\n"  << testOne.Count() << " ";
    testTwo.OutputCount(cout) << std::endl;
 
    while (testOne.Count() < 30)
        testOne.Increment();
 
    while (testTwo.Count() > 30)
        testTwo.Decrement();
 
    cout << "\nFinal Values:\n" << testOne.Count() << " ";
    testTwo.OutputCount(cout) << std::endl;
    
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.10.2012, 07:45
Помогаю со студенческими работами здесь

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать абстрактный базовый класс Тройка чисел с...

Конструктор форм не может создать (или инициализировать) класс
Прошу помощи. Написал форму авторизации для приложения (в нём С# windows forms + бд access). Создал новую главную форму, на которую должен...

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

Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо
Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо. Дополнительно есть марка,...

Создать класс - данные - абстрактный базовый класс. Создать производные классы
Всем привет! У меня вот такая проблема.... Создать класс - данные - абстрактный базовый класс. Создать производные классы - данные типа...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru