Автор Александр задал вопрос в разделе Другие языки и технологии
Статические поля и методы в С++. Подскажите что это и примеры если можно. Гугл затерялся в своих знаниях) и получил лучший ответ
Ответ от ?????? Зелёный змий ??????[гуру]
Статические переменные не входят в состав объекта. Они существуют в единственном экземпляре, всегда, независимо от количества созданных объектов.
По сути - это просто глобальная переменная, помещенная в пространство имен класса. Если доступ позволяет, то к ней можно добраться не имея объекта класса. К переменным-членам можно добраться только через объект
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. Ресурсы под них выделяются отдельно, поэтому они есть даже тогда, когда ни одного экземпляра класса не создано.
Класс это тип данных. Например как int или float. Он произошёл от понятия структуры.
Только в отличии от неё в его составе могут быть не только переменные но и функции.
Вы создали класс после чего вы создаете экземпляр класса (объект). По идее все методы класса работают с переменными конкретного экземпляра класса. То есть например у вас есть класс "шарик" у него есть параметр скорость. Вы можете создать хоть сотню шариков и у каждого будет своя собственная переменная хранящая скорость. Но вот статическая переменная это такая переменная которая одна на все шарики. И статический метод один и тот же для всех обьектов (шариков). К примеру статическая переменная может хранить количество всех шариков которые вы создали из вашего класса шариков . При этом что важно это не какая то глобальная переменная а переменная которая хранится внутри класса и если надо может быть доступна только для обьектов класса.
Кратко: статический метод это метод который один для всех экземпляров класса
статическое поле (переменная) это переменная которая одна на все экземпляры
класса.
Динамический это тот который есть свой у каждого экземпляра.
Почему в учебниках по физике написано, что "магнитное поле образуется вокруг провода" ???
То, чем можно пренебречь в данной задаче, не существует. Чтоб не усложнять. Иначе мозг поперхнется.
подробнее...
Чем отличается электростатическое поле от магнитного?
Симметрией
Это - самое главное
Поскольку магнитное поле - это релятивисткая компонента
подробнее...
php если у меня статический класс и в нем статическая переменная. Как мне обратиться из статического метода к ней?
Если обращаешься изнутри класса к статическому полю этого класса, то:
подробнее...
Из чего состоит электромагнитное поле?
Из виртуальных фотонов. Впрочем не думаю, что это лучше чем особая форма материи, но всё-=таки
подробнее...
Существует ли электрическое поле вокруг проводника, по которому движется поток электронов?
Статического поля - нет. Проводник, хоть с движущимися электронами, хоть со стоящими на месте,
подробнее...
Что такое кулоновское поле в физике?
Это поле, для которого справедлив закон Кулона (или близкий к нему - например, закон всемирного
подробнее...
что такое прямой привод в стиральной машине
Прямой привод - это электрическая машина с непосредственным преобразованием электромагнитной
подробнее...
какие правила в кабинете информатики что нельзя делаьть ???
ПРАВИЛА ПОВЕДЕНИЯ И ТЕХНИКИ БЕЗОПАСНОСТИ
В КАБИНЕТЕ ИНФОРМАТИКИ
1. ОБЩИЕ ПОЛОЖЕНИЯ
подробнее...
Что такое виртуальные частицы? Как они образуются, в чем состоит их "виртуальность"?
Для виртуальных частиц выполняется закон сохранения импульса и прочие законы сохранения (например,
подробнее...
в игре diablo 2 где найти гробницу еал раши?
Оказавшись в Каньоне магов, сразу откройте городской портал, а затем осмотритесь. Локация
подробнее...
Земной шар заряжен
соединять человека проводком - не надо, человек и так прекрасный проводник. А значит в любом
подробнее...
что показывает диэлектрическая проницаемость среды
диэлектрическая проницаемость среды показывает во сколько раз поле ослабляется
подробнее...
Статичная функция внутри класса. какие данные будут доступны всем образцам класса?
Полагаю, речь идет о С++?
> если мы создаем статичную ПЕРЕМЕННУЮ внутри класса
подробнее...