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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чем отличается сортировка слиянием файлов от сортировки массивов? http://www.cyberforum.ru/cpp-beginners/thread209908.html
такой вопрос. сортировка файлов слиянием для файлов по сути то же самое что сортировка массива с той разницей что вместо массивов записывается в файлы?
C++ Разбор строки с помощью КА Сделать разбор строки с помощью конечного автомата. Строка принимает числа.Числа могут быть целыми (к примеру 1234) или дробными (12.345). Нужно чтобы программа распознавала какое это число,... 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++
Здравствуйте. Помогите пожалуйста с комментариями к программе. Есть код программы,но не понимаю ход решения. Плохо знаю Си. Напишите пожалуйста комментарии к функциям что они делают и как. Заранее...
C++ Массивы. Включение нового элемента. http://www.cyberforum.ru/cpp-beginners/thread209885.html
Подскажите, пожалуйста, как исправить. Вставляет элемент, вправо сдвигает, но последний элемент затирает. #include <iostream.h> #include <conio.h> #include<windows.h> const BUFFLEN = 1000;...
C++ Фундоментальные циклы графа Нужна программа на C\C++.по фундоментальным циклам графа,есть прога подобная на паскале но она у меня почемуто не работает...хотя пример взят из книжки где автор утверждает что она работает))) вот... подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3051 / 1696 / 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();
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.