Что такое статическая функция-член в C ++?



Эта статья предоставит вам подробные и всесторонние знания о статических функциях-членах в C ++ с примерами.

Статический - это ключевое слово в C и C ++, которое используется для объявления специального типа переменной или функции внутри или вне класса. В этом посте мы вкратце разберемся с концепцией статических переменных-членов и статических функций-членов в C ++ и сравним их с обычными переменными и функциями в следующем порядке:

Статические переменные-члены

Переменные, классифицированные как статические, также являются частью C. Предположим, что в функции есть 2 переменные, одна - обычная переменная, а другая - статическая переменная. Обычная переменная создается при вызове функции и ее область действия ограничена. Пока статическая переменная создается один раз и уничтожается в конце программы. У этих переменных есть время жизни на протяжении всей программы.





#include с использованием пространства имен std void Test () {static int x = 1 x = ++ x int y = 1 y = ++ y cout<<'x = '<

Вывод:

static-member-variables-1



Из вышеприведенного вывода мы можем сделать вывод, что каждый раз, когда вызывалась функция Test (), создавалась копия переменной «y», в то время как одна и та же копия переменной «x» использовалась каждый раз при вызове функции Test ().

как сделать массив объектов в java

Теперь давайте обсудим характеристики статических переменных.

  1. Статические переменные инициализируются значением 0. Инициализируется только один раз.



  2. На протяжении всей программы создается только одна копия статической переменной-члена для всего класса, поэтому статические переменные-члены также называются переменными класса. Он используется всеми экземплярами класса.

  3. Статическая переменная-член видна только внутри класса, но ее время жизни - до завершения программы.

Давайте рассмотрим пример статических переменных-членов в классе.

#include с использованием пространства имен std class Пример {static int x public: void function1 () {x ++} void function2 () {cout<<'x = '<

Вывод:

Из вышеприведенного вывода мы видим, что переменная «x» является общей для всех объектов. Чтобы подробно понять концепцию статических переменных данных, можно представить себе библиотеку, в которой несколько книг размещены на разных полках. Рассматривайте библиотеку как класс, положение определенной книги «x» как статическую переменную-член и студентов как объекты класса. Когда первый студентприбыл, он ставит «х» в новую позицию; теперь, когда приходит другой ученик, «х» не вернется в исходное положение, но останется там, где его оставил первый ученик.

как использовать goto c ++

Статические функции-члены в C ++

Как и статические переменные-члены, у нас есть статические функции-члены, которые используются для определенной цели. Чтобы создать статическую функцию-член, нам нужно использовать ключевое слово static при объявлении функции. Поскольку статические переменные-члены являются свойствами класса, а не свойствами объекта, для доступа к ним нам нужно использовать имя класса вместо имени объекта.

Свойства статических функций-членов:

  1. Статическая функция может обращаться только к другим статическим переменным или функциям, присутствующим в том же классе.

  2. Статические функции-члены вызываются с использованием имени класса. Синтаксис-имя_класса :: имя_функции ()

Давайте рассмотрим классический пример, чтобы подробно понять концепцию статических функций-членов. В этом примере мы поймем все концепции, связанные со статическими функциями-членами.

#include с использованием пространства имен std class Пример {static int Number int n public: void set_n () {n = ++ Number} void show_n () {cout<<'value of n = '<

Из вышеприведенного вывода мы видим, что значение переменной «n» отличается для объектов «example1» и «example2» класса «Example». Поскольку переменная «Число» является переменной класса, ее значение одинаково для объектов «example1» и «example2». Статические переменные-члены и функции используются, когда общие значения должны использоваться всеми объектами. При программировании следует использовать ключевое слово static с умом.

На этом мы подошли к концу статьи о статических функциях-членах в C ++. Если вы хотите узнать больше, ознакомьтесь с от Edureka, надежной компании онлайн-обучения. Курс обучения и сертификации по Java J2EE и SOA от Edureka разработан, чтобы обучить вас базовым и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и Spring.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев этого блога, и мы свяжемся с вами как можно скорее.