C , den første klasse metoder tilsættes, hvis det statiske nøgleord, kaldes metoden statiske metoder, og omvendt for eksempel metoder. Alle statiske metoder i klassen, kan du gøre indsigelse mod brug af eller efter klasse til at bruge. Men ved klasse navn generelt fortaler for at bruge, fordi så længe definitionen af klassen statiske metoder ikke behøver at oprette en instans af klassen kan benyttes. Statiske metoder kan kun statiske medlemmer med klassen.
Definitioner
Hvis den tidligere metode til at tilføje en statisk klasse nøgleord, kaldes metoden en statisk metode, hvor en ikke-statisk metode.
Metode
Statiske metoder og statiske variabler tilhører klassen selv, snarere end et objekt af denne klasse. Et opkald er defineret som en statisk metode, kan du gå forud det med navnet på denne klasse, kan du også ringe til ikke-statisk metode opkald som det samme objekt gennem klassen.Eksempler på metoder skal anvendes af forekomster af klassen. Eksempler på metoder, du kan bruge ikke-statisk medlem af klassen, kan du bruge et statisk medlem af klassen.
Klasse statiske metoder er statiske variabler indlæst, når klassen er indlæst. Men være særlig opmærksom på klassen statiske variabler er fælles for klassen objekt, der er, delte alle objekter variabler. Det anbefales at minimere brugen af statiske variabler. Prøv at bruge en intern variabel i en statisk metode.
Metode Statement
Hvilket betyder, at den statiske søgeord statisk. Syntaksen for at erklære en statisk metode er som følger:
<Access Modifier> statisk returtype af metoden navn (parameter liste)
{/ / Metode krop}
Metode Invocation
Statiske metoder og instansmetoder eneste forskel er, at afkastet typen af den statiske metode, før du tilføjer den statiske søgeord. Der er to måder at kalde den statiske metode:
(1) gennem en instans af objektet klasse at kalde
Call format er: objekt navn metode navn
(2) direkte påberåbes af klasse navn
Call format er: class navn :: metode navn
Metoder regler
Når vi bruger til at bemærke:
Statiske metoder kan kun få adgang til statiske medlemmer af klassen, kan klassen ikke få adgang til ikke-statisk medlem;
Statiske metoder kan få adgang til ikke-statisk medlem klasse, kan du også få adgang til ikke-statisk medlem klasse;
Statisk metode kan bruges til at påberåbe sig eksempel, kan du bruge klassen navn til at kalde.
Kode Eksempel
# Medtag <iostream> using namespace std;
class CStaticTest {public: CStaticTest (int a) {this-> a = a;} ~ CStaticTest () {}
statisk int add (CStaticTest & C1, CStaticTest & c2) {tilbagevenden c1.a c2.a;}
private: int a;};
int main () {CStaticTest TMP1 (1), CStaticTest TMP2 (2), int sum1 = tmp1.add (TMP1, TMP2), int sum2 = CStaticTest :: tilføje (TMP1, TMP2);
cout << sum1 << endl; cout << sum2 << endl; tilbagevenden 0;}
Praktisk anvendelse
|