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

"Порядковый номер" для каждого экземпляра класса? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти номера наиболее и наименее удаленных друг от друга точек http://www.cyberforum.ru/cpp-beginners/thread636270.html
В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в следующем порядке: x1, у1, х2, у2, x3, y3 и т.д. Найти номера наиболее и наименее...
C++ Дефрагментация и FSCTL_MOVE_FILE Делал так как пишет мсдн http://msdn.microsoft.com/en-us/library/windows/desktop/aa363911(v=vs.85).aspx откуда брать параметры для FSCTL_MOVE_FILE int GetClusters(const char* name,bool d) {... http://www.cyberforum.ru/cpp-beginners/thread636252.html
C++ Алгоритм быстрой сортировки против пузырька
Решил проверить утверждение, что быстрая сортировка намного эффективнее пузырьковой. Результат пузырька увидел почти сразу, а быстрой сортировки ждал пару минут и выключил. В чём дело? Ошибка в...
C++ Непонятное выражение
Что тут написано? p = array;
C++ string: необъявленный идентификатор http://www.cyberforum.ru/cpp-beginners/thread636215.html
Пишу Win32 проект в VS 2010 Подключил #include <string> но получается такая вот ошибка.. вот такой кусочек кода.. string way="D:\\homedoc\\1.txt"; понять немогу в чём проблема..
C++ Панель инструментов visual studio Случайно отключил окно, в котором можно просматривать контрольные значение, локальные переменные и т .п. Перерыл всю студию, не знаю как включить. Кто нибудь знает? Добавлено через 7 минут нашёл подробнее

Показать сообщение отдельно
Ammandus
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 23
12.08.2012, 00:29  [ТС]
Спасибо Вам IGPIGP! Ваш совет действительно помог. Ведь если не ставить static, то для каждого экземпляра будет создана отдельная переменная number! Все получилось! Вот мой вариант:

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
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
 
char* Rus(const char* text);
///////////////////////////////////////////////
class foo
{
  private:
    static int count;// obshee pole dlya vseh ob'ektov
                       // (v smisle ob'yavleniya)
    int number;
  public:
    foo() // inkremintirovanie pri sozdanii ob'ekta
      {
          count++;
          number=count;
      }
    int getcount() // vozvrashaet znachenie count
      {
          return number;
      }
 
};
//---------------------------------------------
int foo::count = 0; // *opredelenie* count
///////////////////////////////////////////////
int main()
{
  foo f1,f2,f3;
 /* int n1=f1.getcount();
  foo f2;
  int n2=f2.getcount();*/
 
  cout << Rus("Число объектов: ") << f1.getcount() << endl;
  cout << Rus("Число объектов: ") << f2.getcount() << endl;
  cout << Rus("Число объектов: ") << f3.getcount() << endl;
 
  return 0;
}
//--------------------------------------------------------------
// ф-ция русификации
char buf[256]; // за пределами функции
char* Rus(const char* text)
{
 
CharToOem(text, buf);
return buf;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru