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

Статическое поле класса, имеющее тип того же класса - C++

Восстановить пароль Регистрация
 
redbaron_ms
Сообщений: n/a
28.10.2012, 01:36     Статическое поле класса, имеющее тип того же класса #1
Всем доброго времени суток.
Как известно, поля класса могут быть ссылками, либо указателями на тот же класс, в котором объявляются, но не могут быть представлены как объекты этого же класса. Это логично.
В свою очередь статические поля - это глобальные переменные, доступные в пределах класса, которые существуют вне зависимости от созданных объектов класса.
Но вот натолкнулся на занимательную конструкцию...

C++
1
2
3
4
5
6
7
8
9
10
11
class Date{
 
int day, month, year;
 
static Date today;
 
public:
 
static int count;
 
};
Подскажите, пожалуйста, почему данный код корректен?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2012, 01:36     Статическое поле класса, имеющее тип того же класса
Посмотрите здесь:

Программа содержит два класса. Оба класса содержат по одному целому полю и по одному указателю на символьный тип. C++
В конструкторе вложенного класса инициализируется приватное поле. Потом вызывается функция-метод этого класса и выводит значение этого поля НО НЕ ТО! C++
C++ тип функции класса - тип класса?
Изменить поле класса C++
Статическое поле,количество экземпляров класса C++
Вектор, как поле класса C++
C++ Только константное статическое поле НЕ МОЖЕТ быть поле членом класса !
C++ Указатель на поле класса

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
28.10.2012, 01:42     Статическое поле класса, имеющее тип того же класса #2
Это стандарт. Так как статическое поле принадлежит классу, а не экземпляру, оно может иметь тип того же класса.
redbaron_ms
Сообщений: n/a
28.10.2012, 01:53     Статическое поле класса, имеющее тип того же класса #3
Понял, спасибо.

Цитата Сообщение от Герц Посмотреть сообщение
Так как статическое поле принадлежит классу, а не экземпляру
Гмм, видимо, именно поэтому оно и не учитывается при определении размера объекта.
Принадлежащее всем (при патронаже класса) - ничьё. Коммунизм в чистом виде
Yandex
Объявления
28.10.2012, 01:53     Статическое поле класса, имеющее тип того же класса
Ответ Создать тему
Опции темы

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