статическое поле



Автор Александр задал вопрос в разделе Другие языки и технологии

Статические поля и методы в С++. Подскажите что это и примеры если можно. Гугл затерялся в своих знаниях) и получил лучший ответ

Ответ от ?????? Зелёный змий ??????[гуру]
Статические переменные не входят в состав объекта. Они существуют в единственном экземпляре, всегда, независимо от количества созданных объектов.

По сути - это просто глобальная переменная, помещенная в пространство имен класса. Если доступ позволяет, то к ней можно добраться не имея объекта класса. К переменным-членам можно добраться только через объект
class A
{
public:
int a
static int b;
};

int main()
{
A::b; // статик

A var;
var.a; // через объект
}

Статические функции - примерно так же. По сути - это глобальная функция, помещенная в пространство имен класса. Не имеет доступа к переменным-членам. К функции-членам можно добраться только через объект.

class A
{
public:
int a
void Method();
static int b;
static void Function();
};

int main()
{
A::Function(); // статик

A var;
var.Method(); // через объект
}

Ответ от Александр Соколов[новичек]
Добрый день.
Статические поля и методы отличаются от обычных тем, что для их использования и вызова не требуется создание экземпляра класса. То есть MyClass->MyMethod();.

Ответ от Мужик С Веслом[гуру]
class C
{
public:
static int i;
static int func() {return i;}
};

int C::i = 0;

C::func();
Каждый объект - экземпляр класса - имеет свой собственный набор переменных состояния. При вызове метода класса ему передается неявный параметр - указатель на структуру с этими переменными состояния. Если метод объявден как static, то он не получает этот указатель и не может обращаться к этим полям. Может иметь доступ только к полям, которые также объявлены как static. Ресурсы под них выделяются отдельно, поэтому они есть даже тогда, когда ни одного экземпляра класса не создано.

Ответ от Drumpel[гуру]
Класс это тип данных. Например как int или float. Он произошёл от понятия структуры.
Только в отличии от неё в его составе могут быть не только переменные но и функции.
Вы создали класс после чего вы создаете экземпляр класса (объект). По идее все методы класса работают с переменными конкретного экземпляра класса. То есть например у вас есть класс "шарик" у него есть параметр скорость. Вы можете создать хоть сотню шариков и у каждого будет своя собственная переменная хранящая скорость. Но вот статическая переменная это такая переменная которая одна на все шарики. И статический метод один и тот же для всех обьектов (шариков). К примеру статическая переменная может хранить количество всех шариков которые вы создали из вашего класса шариков . При этом что важно это не какая то глобальная переменная а переменная которая хранится внутри класса и если надо может быть доступна только для обьектов класса.
Кратко: статический метод это метод который один для всех экземпляров класса
статическое поле (переменная) это переменная которая одна на все экземпляры
класса.
Динамический это тот который есть свой у каждого экземпляра.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Статические поля и методы в С++. Подскажите что это и примеры если можно. Гугл затерялся в своих знаниях)

Почему в учебниках по физике написано, что "магнитное поле образуется вокруг провода" ???
То, чем можно пренебречь в данной задаче, не существует. Чтоб не усложнять. Иначе мозг поперхнется.
подробнее...

Чем отличается электростатическое поле от магнитного?
Симметрией
Это - самое главное
Поскольку магнитное поле - это релятивисткая компонента
подробнее...

Из чего состоит электромагнитное поле?
Из виртуальных фотонов. Впрочем не думаю, что это лучше чем особая форма материи, но всё-=таки
подробнее...

Существует ли электрическое поле вокруг проводника, по которому движется поток электронов?
Статического поля - нет. Проводник, хоть с движущимися электронами, хоть со стоящими на месте,
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Барионы
Что такое кулоновское поле в физике?
Это поле, для которого справедлив закон Кулона (или близкий к нему - например, закон всемирного
подробнее...

что такое прямой привод в стиральной машине
Прямой привод - это электрическая машина с непосредственным преобразованием электромагнитной
подробнее...

какие правила в кабинете информатики что нельзя делаьть ???
ПРАВИЛА ПОВЕДЕНИЯ И ТЕХНИКИ БЕЗОПАСНОСТИ
В КАБИНЕТЕ ИНФОРМАТИКИ
1. ОБЩИЕ ПОЛОЖЕНИЯподробнее...

Что такое виртуальные частицы? Как они образуются, в чем состоит их "виртуальность"?
Для виртуальных частиц выполняется закон сохранения импульса и прочие законы сохранения (например,
подробнее...
спросили в Другое Мерзавец
в игре diablo 2 где найти гробницу еал раши?
Оказавшись в Каньоне магов, сразу откройте городской портал, а затем осмотритесь. Локация
подробнее...
спросили в Техника
Земной шар заряжен
соединять человека проводком - не надо, человек и так прекрасный проводник. А значит в любом
подробнее...

что показывает диэлектрическая проницаемость среды
диэлектрическая проницаемость среды показывает во сколько раз поле ослабляется
подробнее...
спросили в Доступнее Образцы
Статичная функция внутри класса. какие данные будут доступны всем образцам класса?
Полагаю, речь идет о С++?

> если мы создаем статичную ПЕРЕМЕННУЮ внутри классаподробнее...
Магнитотерапия статическое поле на Википедии
Посмотрите статью на википедии про Магнитотерапия статическое поле
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*