Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/14: Рейтинг темы: голосов - 14, средняя оценка - 4.57
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562

Декларация класса со статическим полем

08.12.2011, 07:27. Показов 2664. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не сингелтон, а класс со статическим именно полем, а не экземпляром. Как это пишется, я знаю, если у меня будет реальная задача на такое поле, я её решу. Просто сейчас не могу сочинить пример на эту тему, чтоб был и простым, и осмысленным, но не сингелтоновым, а надо сделать именно для примера фрагмент UML диаграммы классов с атрибутом, принадлежащим одновременно всем экземплярам, сингелтон же сюда вроде бы не лезет концептуально, так как на уровне модели у него единственен экземпляр, а не атриубут. Если у кого есть в проекте под рукой, киньте пожалуйста сюда одну декларацию.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.12.2011, 07:27
Ответы с готовыми решениями:

Работа со статическим полем класса
Добрый вечер. Подскажите, как добавить в вектор какое-либо значение в этом случае? Ошибка 2001 вылазит, неразрешенный внешний символ... ...

Undefined reference при работе с статическим полем класса
Здравствуйте. Вот пример: class A { public: A(); A(const A&); ~A();

Беда со статическим полем
Всем привет! такой вопрос: #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <conio.h> #include...

10
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
08.12.2011, 19:56
Например, класс, объекты которого должны во время работы программы при создании получать уникальный ID. Тогда current_id - статическое поле, которое увеличивается в конструктора. Простейший пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class UniqueID
{
public:
    UniqueID():
    m_id(current_id++)
    {
    }
 
private:
    static unsigned current_id;
 
private:
    unsigned m_id;
};
 
unsigned UniqueID::current_id = 0;
Или вам не то надо было?
1
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
09.12.2011, 06:45  [ТС]
Отличный пример, возможно лучший.
0
278 / 174 / 21
Регистрация: 10.07.2011
Сообщений: 441
09.12.2011, 07:25
silent_1991, скажите пожалуйсте, а это специально так задумано что private: дважды повторяется ? если да то почему?
0
Заблокирован
09.12.2011, 07:36
greeezz, читабельность же!
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
09.12.2011, 07:39  [ТС]
Цитата Сообщение от greeezz Посмотреть сообщение
silent_1991, скажите пожалуйсте, а это специально так задумано что private: дважды повторяется ? если да то почему?
Цитата Сообщение от Bers Посмотреть сообщение
greeezz, читабельность же!
Мне всё равно на UML переводить, а там спецификаторы повторяются.
0
278 / 174 / 21
Регистрация: 10.07.2011
Сообщений: 441
09.12.2011, 07:45
Bers,
taras atavin, ну я думал может есть какая-то интересная мега хитрость в связи с этим... мало ли.
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
09.12.2011, 14:33
Цитата Сообщение от silent_1991 Посмотреть сообщение
объекты которого должны во время работы программы при создании получать уникальный ID. Тогда current_id - статическое поле, которое увеличивается в конструктора. Простейший пример
На этот же код - счетчик созданных объектов данного типа, ну или счетчик существующих - тогда в деструкторе уменьшать статическую переменную.
1
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
09.12.2011, 17:54
greeezz, нет, хитростей нет, просто логическое разделение. Все поля складываем под один спецификатор, все статические поля - под другой, все тайпдефы - под третий, все методы - под четвёртый и т.д. При комментировании проще и нагляднее будет прокомментировать, какую группу включает в себя каждый спецификатор.
1
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
09.12.2011, 18:23  [ТС]
silent_1991, с учётом того, что спрашивал именно я, можно группировать по любому признаку и произвольно повторять/не повторять спецификаторы: я сам группирую только по спецификаторам, но при чтении на иной стиль вообще не обращаю внимания. В готовом же виде будет UML, то есть уже другой язык и особенности оформления потеряются при переводе. Могу завтра запостить, во что превратилась предложенная декларация. Кстати, тоже вполне читабельно.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
09.12.2011, 20:21  [ТС]
А нет, уже сегодня:
Изображения
 
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.12.2011, 20:21
Помогаю со студенческими работами здесь

Декларация класса полинома
Как лучше задекларировать класс полинома n-ного порядка от m различных x с мультипликативными членами суммарной степени <=n? Например,...

Дополнить класс статическим полем Count для подсчёта количества созданных экземпляров класса
Дополнить класс статическим полем Count для подсчёта количества созданных экземпляров класса

Дополнить класс статическим полем Count для подсчёта количества созданных экземпляров класса
Дополнить класс статическим полем Count для подсчёта количества созданных экземпляров класса

Работа со статическим полем
Вобщем чето с утра мозг отказывается работать а заставить его то делать надо... Есть такой код public partial class Form1 : Form ...

Создание объекта класса с полем являющимся объектом другого класса
Bill a; cin>>a;//тут я ввел с помощью перегруженного оператора ElementSpiska c; //поля у Spiska(Bill A,int,string,int) ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru