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

Счетчик объектов класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Список файлов и конкатенация строк http://www.cyberforum.ru/cpp-beginners/thread1493206.html
Здравствуйте. В этом коде std::vector<std::string> Files(0); // вектор с файлами wchar_t* Buffer = new wchar_t; // создание массива символов...
C++ Почему течет память ? пишу небольшой класс по работе с двусвязными списками часть класса List::List() { head = nullptr; http://www.cyberforum.ru/cpp-beginners/thread1493187.html
C++ Перегрузка ifstream и ofstream для работы с файлами в little-endian формате?
Всем привет, мне нужно реализовать классы для работы с файлами в little-endian формате. Для этого задумал сделать public-потомки соответствующих классов ввода-вывода, и перегрузить методы,...
Поместить указатели на экземпляры классов в динамический массив C++
Добрый день. Не идет данная тема. Прошу помощи. Задание: Поместить указатели на экземпляры классов в динамический массив. Для класса Person необходимо реализовать операторы < и >. В динамическом...
C++ Error LNK2001: неразрешенный внешний символ ""public: void __thiscall CRenderTarget::phase_smap_direct http://www.cyberforum.ru/cpp-beginners/thread1493146.html
Доброго времени суток. Данный проект собирается на 2005 и 2008 студии. При попытке сбора на 2010 был ряд ошибок, с которыми я всё же справился, но на этапе компоновки случилось следующее. ...
C++ Использование extern с функциями Добрый вечер! Скажем я задекларировал в каком-то модуле функцию extern void foo() ;. Но не описал её. Могу ли я при подключении этого модуля к моей программе описать тело этой функции в самой... подробнее

Показать сообщение отдельно
Dmy_
Заблокирован
05.07.2015, 12:00
Я тебе все равно віволю код, у меня давно волляется, посматри, то или не то. Так или иначе, думаю пригодится,

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.
Рейтинг@Mail.ru