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

Шаблоны, vector, list

30.05.2015, 14:35. Показов 695. Ответов 4
Метки нет (Все метки)

Создать класс Beta таким образом , чтобы при уничтожении последнего объекта на экран выдавалось сообщение о наибольшее количество объектов типа Beta , существовавших и время существования популяции объектов.
Нужно сделать с помощью шаблона, vector либо list.

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
#ifndef BETA_H
#define BETA_H
#include <iostream>
using namespace std;
class beta
{
private:
    static int s_counter;
    static int s_wasMax;
 
public:
   beta ();
  ~beta ();
};
#endif // BETA_H
 
#include "beta.h"
beta::beta()
{
 s_counter++;
 s_wasMax = s_counter;
 cout << "Created beta. Curr count is " << s_counter << endl;
}
beta::~beta ()
{
     s_counter--;
     if ( s_counter == 0 )
         {
         cout << "I was last!. Was max " << s_wasMax << endl;
         }
     else
         {
         cout << "Destroy beta. Curr count is " << s_counter << endl;
         }
 }
 
#include <iostream>
#include "beta.h"
using namespace std;
int beta::s_counter = 0;
int beta::s_wasMax = 0;
int main()
{
    int n;
        cout<<"enter the number of elements"<<endl;
        cin>>n;
        cout<<endl;
 
    beta obj[n];
        for(int i=0; i<6; i++)
        {
        }
    delete[]obj;
}
Вот пытался шаблоном,но что-то не то=(
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
#ifndef BETA_H
#define BETA_H
#include <iostream>
using namespace std;
template <typename T>
class beta
{
private:
    T s_counter;
    T s_wasMax;
 
public:
   beta ();
  ~beta ();
};
#endif // BETA_H
 
#include "beta.h"
template<typename T>
beta<T>::beta()
{
 s_counter++;
 s_wasMax = s_counter;
 cout << "Created beta. Curr count is " << s_counter << endl;
}
template<typename T>
beta<T>::~beta ()
{
     s_counter--;
     if ( s_counter == 0 )
         {
         cout << "I was last!. Was max " << s_wasMax << endl;
         }
     else
         {
         cout << "Destroy beta. Curr count is " << s_counter << endl;
         }
 }
#include <iostream>
#include "beta.h"
using namespace std;
int beta::s_counter = 0;
int beta::s_wasMax = 0;
int main()
{
    int n;
        cout<<"enter the number of elements"<<endl;
        cin>>n;
        cout<<endl;
 
    beta obj[n];
        for(int i=0; i<6; i++)
        {
        }
    delete[]obj;
}
 
#include <iostream>
#include "beta.h"
using namespace std;
 
int main()
{
    int n;
        cout<<"enter the number of elements"<<endl;
        cin>>n;
        cout<<endl;
 
           beta obj[n];
        for(int i=0; i<n; i++)
        {
            obj.beta<int>;
        }
}
И как можно с помощью vector?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2015, 14:35
Ответы с готовыми решениями:

Шаблоны классов, вывод информации из vector
Здравствуйте друзья! В своем обучение дошел до шаблонов классов! Дано: Класс работников...

vector и list
1) Правильно ли я понимаю, что при расширении вектора все предыдущие указатели портятся? ...

vector, list, deque
Пытаюсь разобраться, куда лучше какой контейнер применять, под какие задачи. Первый вопрос по...

Контейнеры Vector и List (C++)
Уважаемые форумчане! Помогите, пожалуйста, реализовать вручную классы Vector и List с основными их...

4
6992 / 6030 / 2738
Регистрация: 14.04.2014
Сообщений: 25,792
30.05.2015, 15:01 2
Тебе нужны static-поля для подсчёта экземпляров, дат и др.
0
0 / 0 / 2
Регистрация: 28.09.2014
Сообщений: 87
30.05.2015, 15:34  [ТС] 3
Цитата Сообщение от nmcf Посмотреть сообщение
Тебе нужны static-поля для подсчёта экземпляров, дат и др.
задание состоит в том, что нужно переделать программу под шаблон, и под vector.
0
6992 / 6030 / 2738
Регистрация: 14.04.2014
Сообщений: 25,792
30.05.2015, 15:55 4
Шаблон для чего? У тебя же нет ничего в классе, кроме счётчиков.
0
0 / 0 / 2
Регистрация: 28.09.2014
Сообщений: 87
01.06.2015, 18:01  [ТС] 5
А с помощью вектора можно как-то сделать?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2015, 18:01

Сортировка vector и list
Здравствуйте. vector&lt;int&gt; функцией STL медленнее сортируется, чем list&lt;int&gt; собственным методом. ...

Vector, list for beginners
Доброго времени суток. Поскольку самоучитель Лафоре не подходит для начинающих (...

Контейнеры Vector,List
Как в массиве списков переместить из первой ячейки все элементы которые делятся на 2 в другую...

STL vector,list
У меня 2 вопроса: 1) можете рассказать,как подробно работает reverse_iterator?Создал вектор,хочу...


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

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

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