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

Как организовать счетчик объктов класса? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чем отличается сортировка слиянием файлов от сортировки массивов? http://www.cyberforum.ru/cpp-beginners/thread209908.html
такой вопрос. сортировка файлов слиянием для файлов по сути то же самое что сортировка массива с той разницей что вместо массивов записывается в файлы?
C++ Разбор строки с помощью КА Сделать разбор строки с помощью конечного автомата. Строка принимает числа.Числа могут быть целыми (к примеру 1234) или дробными (12.345). Нужно чтобы программа распознавала какое это число, целое или дробное. ПРограмма должна быть написана без ООП Примерный КА выглядит так(представлен в виде таблицы): d | . | \o | 1 | - | - | 1 | 2 | 4 | http://www.cyberforum.ru/cpp-beginners/thread209903.html
Бесконечные адреса одной переменной. МоСК кипит... C++
#include "stdafx.h" #include <conio.h> #include <iostream> using namespace std; int main() { int * pAddressOne; int * pAddressTwo;
Интерфейс,график,среднее геометрическое,случайные числа C++
Здравствуйте. Помогите пожалуйста с комментариями к программе. Есть код программы,но не понимаю ход решения. Плохо знаю Си. Напишите пожалуйста комментарии к функциям что они делают и как. Заранее благодарен! #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h> #include <string.h> bool check_signs(char a,char *signs)
C++ Массивы. Включение нового элемента. http://www.cyberforum.ru/cpp-beginners/thread209885.html
Подскажите, пожалуйста, как исправить. Вставляет элемент, вправо сдвигает, но последний элемент затирает. #include <iostream.h> #include <conio.h> #include<windows.h> const BUFFLEN = 1000; char BUFF; int Start; char* Rus(char* in)
C++ Фундоментальные циклы графа Нужна программа на C\C++.по фундоментальным циклам графа,есть прога подобная на паскале но она у меня почемуто не работает...хотя пример взят из книжки где автор утверждает что она работает))) вот она помогите кто чем сможет((( Program GraphCycle; {Фундаментальные циклы графа} uses CRT,DOS; Const nVertex=100; {Максимальное количество вершин} nAdjacent=1000; {Максимальная длина списка... подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3043 / 1688 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
14.12.2010, 02:44     Как организовать счетчик объктов класса?
Еще вот так можно, чтобы уже все внутри класса было:

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
////////////////////////////////////////////////////////////////////////////////////// 
#include <iostream>
#include <string>
////////////////////////////////////////////////////////////////////////////////////// 
typedef std::string  T_obj_name;
////////////////////////////////////////////////////////////////////////////////////// 
class A 
{
    const  T_obj_name  obj_name_;
    //--------------------------------------------------------------------------------
    static int count(const int  deltha = 0)
    {
        static int  counter = 0;                
        return  counter += deltha;
    }
public:
    A(const T_obj_name  obj_name = "noname") : obj_name_(obj_name)
    {
        count(1);
        std::cout << "Создан объект "        
                  << obj_name_
                  << ". "
                  << '\t';
        print_objects_count();                                     
    }
    //--------------------------------------------------------------------------------
    ~A()
    {
        count(-1);
        std::cout << "Удален объект "
                  << obj_name_
                  << ". "
                  << '\t';
        print_objects_count();                                     
    }
    //--------------------------------------------------------------------------------
    static void  print_objects_count()
    {
        std::cout << "Всего в программе "
                  << count()
                  << " объектов класса A."
                  << std::endl;        
    }
};
////////////////////////////////////////////////////////////////////////////////////// 
int main ()
{  
    std::locale::global(std::locale(""));
    A::print_objects_count();
    A   a("a");
    A*  arr = new A[2];
    delete[]  arr;
    A  b("b");
    A* arrrr = new A[3];
    A::print_objects_count();
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru