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

Классы и объем ОЗУ - C++

Восстановить пароль Регистрация
 
BattleManLS
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 31
24.02.2014, 10:35     Классы и объем ОЗУ #1
Помогите пожалуйста с задачей... Создать класс таким образом, чтобы он отслеживал количество существующих в данный момент объектов и объем оперативной памяти, который они занимают. Указание: применить статические компоненты класса.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
24.02.2014, 10:48     Классы и объем ОЗУ #2
создать переменную static , которую итерировать в конструкторе, написать конструктор копирования и оператор= (в С.Прата есть подобный пример с подсчетом объектов) , ну и такую же переменную,которая будет содержать sizeof объекта и складывать при вызове конструктора
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.02.2014, 10:56     Классы и объем ОЗУ #3
Цитата Сообщение от dzrkot Посмотреть сообщение
создать переменную static ,
Точнее поле
C++
1
static size_t Count;
, стартовое значение 0.

Добавлено через 2 минуты
Цитата Сообщение от dzrkot Посмотреть сообщение
ну и такую же переменную,которая будет содержать sizeof объекта и складывать при вызове конструктора
А вот это уже не нужно, выдавать инфу в любом случае должны static-методы, так что достаточно количество умножить на sizeof в одном из этих методов.
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
24.02.2014, 11:04     Классы и объем ОЗУ #4
я бы сделал так...
можно тогад пример того, как это было бы по уму в студию?) ...смутно представляю (я size_t не использовал никогда)
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.02.2014, 11:17     Классы и объем ОЗУ #5
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
class MyClass
{
 private:
  static size_t Count;
 public:
  static size_t GetCount();
  static size_t GetMemory();
  MyClass();
  MyClass(MyClass &x);
  ~MyClass();
};
size_t MyClass::Count=0;
size_t MyClass::GetCount()
{
 return Count;
}
size_t MyClass::GetMemory()
{
 return Count*sizeof(MyClass);
}
MyClass::MyClass()
{
 ++Count;
 ...
}
MyClass::MyClass(MyClass &x)
{
 ++Count;
 ...
}
MyClass::~MyClass()
{
 --Count;
 ...
}
...
Добавлено через 2 минуты
12-ю, 13-ю и 17-ю строки я мог слегка переврать, редко юзаю static.
BattleManLS
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 31
24.02.2014, 18:38  [ТС]     Классы и объем ОЗУ #6
taras atavin, Спасибо, но для сравнения попробую найти как через static.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.02.2014, 19:17     Классы и объем ОЗУ #7
Цитата Сообщение от BattleManLS Посмотреть сообщение
taras atavin, Спасибо, но для сравнения попробую найти как через static.
Именно через него я и сделал.
BattleManLS
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 31
26.02.2014, 01:20  [ТС]     Классы и объем ОЗУ #8
Сижу, вчитываюсь, но не как не пойму как этим кодом воспользоваться... Только начали учить классы, а тут такая не понятная задача...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2014, 12:59     Классы и объем ОЗУ
Еще ссылки по теме:

C++ Объем цилиндра
Описать структуру ОЗУ C++
C++ Порядок хранения структур в ОЗУ и memset

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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.02.2014, 12:59     Классы и объем ОЗУ #9
Просто вызывая методы GetCount и GetMemory и всё.
Yandex
Объявления
26.02.2014, 12:59     Классы и объем ОЗУ
Ответ Создать тему
Опции темы

Текущее время: 02:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru