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

номер объекта - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Несколько вопросов http://www.cyberforum.ru/cpp-beginners/thread335829.html
Добрый день. Начал писать одну программу в VS 2008 C++ (консоль) и столкнулся в несколькими проблемами. В общем желательно нужно, чтобы программа при запуске открывалась в окне размерами больше стандартных 80x25. Функция window( int, int, int, int) не работает. Далее в программе будут выводиться длинный список, выходящий за границы по вертикали. Как сделать, чтобы при выводе этого списка...
C++ enum: цифры А можно в перечислениях использовать цифры? Например: enum chislo {1, 2, 3, 4}(только так не работает:gmad:) Просто есть файл, там записано длинное число, и каждую циферку нужно записать в ячейку массива... http://www.cyberforum.ru/cpp-beginners/thread335817.html
C++ Собственный шаблон в Visual Studio
Ребята, извиняюсь за глупый вопрос, но можно ли в Visual Studio создать свой собственный шаблон кода программы, например есть одни и те же заголовки, переменные, или часть кода которые я использую в разных программах. Как-нибудь это можно оптимизировать?
C++ Шаблоны функций c++
Хэллоу фрэндс! Столкнулся с проблеммой в решении упражнения. Вот условие: Создайте шаблонную функцию maxn(), которая принимает в качестве аргумента массив элементов типа Т и целое число, представляющее собой количество элементов в массиве, и возвращает элемент с наибольшим значением. Проверьте ее в программе, которая использует шаблон данной функции с массивом из шести значений типа int и с...
C++ файлы в c++ http://www.cyberforum.ru/cpp-beginners/thread335782.html
есть текстовый файл. нужно создать другой текстовый файл и переписать, определенное количество символов. файл читать в произвольном доступе с помощью seekg. и сразу символы, переписывать из одного в другой файл. ---- как я токо не пытался. то файл создает полностью пустым, то с одними нулями, то с кракозябрами и тд. в php эта функция $a = fread("1.txt",500); // переменная а получает 500...
C++ Кто нибудь знает как написать игру на С ?) Зраствуйте Можно ли написать крестики нолики на С ? И как это сделать ? Дайте идею или код. Спасибо за внимание. подробнее

Показать сообщение отдельно
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
24.07.2011, 18:46     номер объекта
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <vector>
#include <algorithm>
#include <iostream>
 
class A;
 
class Factory
{
public:
  Factory();
  ~Factory();
  A* getA();
  unsigned getCount();
  bool destroyA(A*); 
private: 
  std::vector<A*> m_v;
  unsigned number; 
};
 
class A
{
public:
  unsigned getNum()   const;
  unsigned getCount() const;
  ~A();
  friend class Factory; 
private:
  A(Factory* _factory, unsigned _num);
  
  Factory* m_factory;  
  unsigned num; 
};
 
Factory::Factory() : m_v(), number(0) {}
 
Factory::~Factory()
{
  if( m_v.size() )
  {
    std::cout << "memory leak!" << std::endl;
  }
}
 
A* Factory::getA()
{
  A* a = new A( this, ++number );
  m_v.push_back( a );
  return a; 
}
 
unsigned Factory::getCount()
{
  return m_v.size();
}
 
bool Factory::destroyA(A* a)
{
  std::vector<A*>::iterator it;
  if( m_v.end() != ( it = std::find( m_v.begin(), m_v.end(), a ) ) )
  {
    m_v.erase( it );
    return true; 
  }   
 
  return false;  
}
 
A::A(Factory* _factory, unsigned _num) : m_factory(_factory), 
                                       num( _num )
{
  std::cout << "A{" << num << '}' << std::endl;
}  
 
unsigned A::getNum() const 
{
  return num;
}
   
unsigned A::getCount() const
{
  return m_factory->getCount();
}
 
A::~A()
{
  m_factory->destroyA(this); 
}
 
int main()
{
  Factory fact;
  A* arr[3];
  arr[0] = fact.getA();
  arr[1] = fact.getA();
  std::cout << "count = " << arr[0]->getCount() << std::endl;
  arr[2] = fact.getA();
  delete arr[0];
  std::cout << "count = " << arr[1]->getCount() << ", number = " 
            << arr[1]->getNum() << std::endl;
  delete arr[1];
  
  std::cout << "count = " << arr[2]->getCount() << ", number = " 
            << arr[2]->getNum() << std::endl; 
}
http://liveworkspace.org/code/5ba7e8...aa9dc154fa3b5f

Добавлено через 2 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
для неповторяемости номера можно присваивать ему значения времени например
но обращаться к объектам все равно будем по именам (это и есть идентификатор) чаще всего не повторяемый (по крайней мере в одном блоке)
зачем это???
откуда я знаю зачем это надо ТС?)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru