Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Денис96
0 / 0 / 1
Регистрация: 10.08.2011
Сообщений: 55
1

Задача по ООП (создать класс Alfa)

27.01.2013, 13:29. Просмотров 672. Ответов 6
Метки нет (Все метки)

Ребята, помогите, пожалуйста, с задачей. Второй день долблюсь и не понимаю, что не так.

Условие: создать класс Alfa таким образом, чтобы при создании первого и уничтожении последнего объекта этого типа на экран выводились соответствующие сообщения. Указание: использовать статические компоненты класса.

Вот мой код, объясните, как исправить.
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
const int N=50;
class Alfa
{
    static int inst_count;
public:
    Alfa () {
        if (inst_count==0) cout<<"1 object created"<<endl;
        inst_count++;
    }
    ~Alfa () {
        inst_count--;
        if (inst_count==0) cout<<"No objects"<<endl;
    }
};
int main()
{
    Alfa *a[N];
    for (int i=0; i<N; i++) a[i] = new Alfa();
    for (int i=0; i<N; i++) delete a[i];
    cout<<"End"<<endl;
    getch();
    return 0;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2013, 13:29
Ответы с готовыми решениями:

Создать базовый класс Car (машина) и производный класс Lorry (грузовик): ООП ошибки
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка), числом цилиндров,...

класс Alfa
Создать класс Alfa таким образом, чтобы при создании первого и уничтожении последнего объекта этого...

Дано значение угла alfa в радианах (0 < alfa < 2*pi). Определить значение этого же угла в градусах
Здравствуйте я тока начинаю юзать с++ помоги пожалуйста заранее спасибо Дано значение угла alfa в...

Задача создать класс матрица
Мальчики пожалуйста помогите... Создать класс матрица Данный класс содержит указатель на int,...

Задача на Классы. Создать класс треугольник
Прошу пожалуйста помочь составить программу на С++ по задаче: создать класс треугольник, члены...

6
Hrobak
291 / 171 / 47
Регистрация: 22.03.2010
Сообщений: 487
Завершенные тесты: 1
27.01.2013, 14:07 2
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
#include <iostream>
 
using namespace std;
const int N=50;
class Alfa
{
    static int inst_count;
public:
    Alfa ();
    ~Alfa ();
};
int Alfa::inst_count=0;
Alfa::Alfa()
{
    if (inst_count==0) cout<<"1 object created"<<endl;
    ++inst_count;
}
Alfa::~Alfa()
{
    --inst_count;
    if (inst_count==0) cout<<"No objects"<<endl;
}
 
int main()
{
    Alfa *a[N];
        for (int i=0; i<N; i++) a[i] = new Alfa();
        for (int i=0; i<N; i++) delete a[i];
        cout<<"End"<<endl;
    return 0;
}
Вы уверены, что здесь именно двумерный массив нужен?
1
hepper
Кодогенератор
199 / 199 / 51
Регистрация: 15.06.2011
Сообщений: 794
Завершенные тесты: 5
27.01.2013, 15:01 3
я в с++ не особо рублю, но чтоб такое сделать, нужно сделать в классе статическое поле-счетчик, в конструктуроре и деструкторе счетчик увеичивать/уменьшать, при нужных значения выводить сообщение.

п.с. а извиняюсь, увидел... так и сделано практически.
0
Hrobak
291 / 171 / 47
Регистрация: 22.03.2010
Сообщений: 487
Завершенные тесты: 1
27.01.2013, 15:04 4
hepper, вы бы хоть посты выше посмотрели, на код.
0
hepper
Кодогенератор
199 / 199 / 51
Регистрация: 15.06.2011
Сообщений: 794
Завершенные тесты: 5
27.01.2013, 15:10 5
смотрел... но показалось там он налепил костыли....
0
Hrobak
291 / 171 / 47
Регистрация: 22.03.2010
Сообщений: 487
Завершенные тесты: 1
27.01.2013, 15:13 6
Там попытка использовать статическую переменную и, как вы говорите, инкрементирование/декрементирование в конструкторе/деструкторе. Основная проблема была в том, что статическая переменная не была проинициализирована.
0
Денис96
0 / 0 / 1
Регистрация: 10.08.2011
Сообщений: 55
27.01.2013, 15:38  [ТС] 7
Спасибо вам большое, ребят!
0
27.01.2013, 15:38
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2013, 15:38

Задача ООП абстрактный класс «Гирлянда»
Ну такая беда, я пишу на пыхе, ну вообще редко когда мне попадает возможность загнать код ООПешный,...

ООП, создать класс Rectangle
Здравствуйте уважаемые программисты! Пишет Вам чайник :) Скажите пожалуйста,было задано...

Нужно создать класс PHP (введение в ООП)
Создать класс, содержащий функцию работы со строкой (определение букв, входящих в строку более...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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