Wat is de statische ledenfunctie in C ++?



Dit artikel biedt u een gedetailleerde en uitgebreide kennis van de statische lidfunctie in C ++ met voorbeelden.

Statisch is een trefwoord in C en C ++ dat wordt gebruikt om een ​​speciaal type variabele of een functie binnen of buiten een klasse te declareren. In dit bericht zullen we kort het concept van statische lidvariabelen en statische lidfuncties in c ++ begrijpen en deze vergelijken met normale variabelen en functies in de volgende volgorde:

Statische lidvariabelen

Variabelen die als statisch zijn geclassificeerd, maken ook deel uit van C. Stel dat er in een functie 2 variabelen zijn, de ene is een normale variabele en de andere is een statische variabele. De normale variabele wordt gemaakt wanneer de functie wordt aangeroepen en het bereik is beperkt. Terwijl de statische variabele eenmaal wordt gemaakt en aan het einde van het programma wordt vernietigd. Deze variabelen hebben een levensduur gedurende het hele programma.





#include met gebruik van naamruimte std void Test () {statische int x = 1 x = ++ x int y = 1 y = ++ y cout<<'x = '<

Uitgang:

static-member-variables-1



Uit de bovenstaande uitvoer kunnen we concluderen dat elke keer dat de functie Test () werd aangeroepen, een kopie van variabele ‘y’ werd gemaakt, terwijl dezelfde kopie van variabele ‘x’ werd gebruikt elke keer dat de functie Test () werd aangeroepen.

Laten we nu de kenmerken van de statische variabelen bespreken

  1. Statische variabelen worden geïnitialiseerd op 0. Het wordt slechts één keer geïnitialiseerd.



  2. In het hele programma wordt slechts één kopie van de statische lidvariabele gemaakt voor de hele klasse, vandaar dat statische lidvariabelen ook klassevariabelen worden genoemd. Het wordt gedeeld door alle instanties van de klas.

  3. De statische lidvariabele is alleen zichtbaar binnen de klasse, maar de levensduur is totdat het programma eindigt.

    sql server basics voor beginners

Laten we eens kijken naar een voorbeeld van statische lidvariabelen in een klas.

#include using namespace std class Voorbeeld {static int x public: void function1 () {x ++} void function2 () {cout<<'x = '<

Uitgang:

Uit de bovenstaande uitvoer kunnen we zien dat de variabele ‘x’ wordt gedeeld door alle objecten. Om het concept van de statische gegevensvariabelen in detail te begrijpen, kunnen we denken aan een bibliotheek waar meerdere boeken op verschillende planken staan. Beschouw de bibliotheek als een klas, de positie van een bepaald boek ‘x’ als een statische lidvariabele en studenten als de objecten van de klas. Toen de eerste studentaangekomen plaatst hij ‘x’ op een nieuwe positie nu wanneer een andere student arriveert ‘x’ keert niet terug naar zijn oorspronkelijke positie, maar het blijft waar de eerste student het achterliet.

Statische ledenfuncties in C ++

Net als statische lidvariabelen hebben we statische lidfuncties die voor een specifiek doel worden gebruikt. Om een ​​statische lidfunctie te maken, moeten we het statische sleutelwoord gebruiken bij het declareren van de functie. Omdat statische lidvariabelen klasse-eigenschappen zijn en geen objecteigenschappen, moeten we om ze te openen de klassenaam gebruiken in plaats van de objectnaam.

Eigenschappen van statische lidfuncties:

  1. Een statische functie heeft alleen toegang tot andere statische variabelen of functies die in dezelfde klasse aanwezig zijn

    model view controller java voorbeeld
  2. Statische lidfuncties worden aangeroepen met behulp van de klassenaam. Syntaxis-class_name :: functienaam ()

Laten we eens kijken naar een klassiek voorbeeld om het concept van statische lidfuncties in detail te begrijpen. In dit voorbeeld zullen we alle concepten met betrekking tot statische lidfuncties begrijpen.

#include using namespace std class Voorbeeld {static int Number int n public: void set_n () {n = ++ Number} void show_n () {cout<<'value of n = '<

Uit de bovenstaande uitvoer kunnen we zien dat de waarde van de variabele ‘n’ verschillend is voor zowel de objecten ‘voorbeeld1’ als ‘voorbeeld2’ van de klasse ‘Voorbeeld’. Aangezien de variabele ‘Number’ een klassevariabele is, is de waarde ervan hetzelfde voor zowel de objecten ‘example1’ als ‘example2’. Statische lidvariabelen en functies worden gebruikt wanneer gemeenschappelijke waarden over alle objecten moeten worden gedeeld. Tijdens het programmeren moet het gebruik van een statisch sleutelwoord verstandig worden gedaan.

Hiermee komen we aan het einde van dit artikel over Statische lidfunctie in c ++. Als je meer wilt weten, bekijk dan de door Edureka, een vertrouwd online leerbedrijf. Edureka's Java J2EE- en SOA-trainings- en certificeringscursus is ontworpen om u te trainen in zowel kern- als geavanceerde Java-concepten samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van deze blog en we nemen zo snel mogelijk contact met je op.