


Statische Datenelemente und statische Elementfunktionen von C++-Klassen
Statische Datenelemente
·Deklarieren Sie mit dem Schlüsselwort static
·Wenn die Datenelemente der deklarierten Klasse statisch sind, spielt es keine Rolle Wie viele werden erstellt? Für Objekte einer Klasse gibt es nur eine Kopie statischer Mitglieder
·Gemeinsam mit allen Objekten der Klasse, mit statischer Lebensdauer
·Wenn keine anderen Initialisierungsanweisungen vorhanden sind , das erste wird nach Object erstellt, alle statischen Datenelemente werden auf Null initialisiert
· Außerhalb der Klasse definiert und initialisiert, verwenden Sie den Bereichsauflösungsoperator (::), um die Klasse anzugeben, zu der es gehört
Beispiel:
#include <iostream> using namespace std; class Box { public: static int count; //若该静态数据成员在private部分声明,则只能通过静态成员函数处理 Box(double l = 2.0, double b = 2.0, double h = 2.0) { cout << "One constructor was called." << endl; length = l, width = b, height = h; count++; //每创建一个对象时加1 } double Volume() { return length * width * height; } ~Box() { count--; } private: double length, width, height; }; //初始化类Box的静态成员 int Box::count = 0; int main(void) { Box Box1(3.3, 1.2, 1.5); Box Box2(8.5, 6.0, 2.0); cout << "Total objects: " << Box::count << endl; //输出对象的总数 return 0; }
Statische Mitgliedsfunktion
Die Deklaration der Mitgliedsfunktion als statisch kann die Funktion von jedem spezifischen Objekt der Klasse trennen
·Kann auch aufgerufen werden, wenn das Klassenobjekt nicht existiert. Verwenden Sie den Klassennamen plus den Bereichsauflösungsoperator ::, um auf
·Statische Mitgliedsfunktionen zuzugreifen Greifen Sie nur auf statische Mitgliedsdaten, andere statische Mitgliedsfunktionen und andere Funktionen außerhalb der Klasse zu.
·Statische Mitgliedsfunktionen haben einen Klassenbereich und können nicht auf diesen Zeiger der Klasse zugreifen Objekte der Klasse wurden erstellt
·Um auf nicht statische Mitglieder mithilfe statischer Mitgliedsfunktionen zuzugreifen, müssen Sie das Objekt
übergeben. Beispiel:
#include <iostream> using namespace std; class Box { public: static int count; Box(double l = 2.0, double b = 2.0, double h = 2.0) { cout <<"One constructor was called." << endl; length = l, width = b, height = h; count++; } double Volume() { return length * width * height; } static int getCount() { //静态成员函数 return count; } private: double length, width, height; }; int Box::count = 0; int main(void) { //在创建对象之前输出对象的总数 cout << "Inital Stage Count: " << Box::getCount() << endl; Box Box1(3.3, 1.2, 1.5); Box Box2(8.5, 6.0, 2.0); //在创建对象之后输出对象的总数 cout << "Final Stage Count: " << Box::getCount() << endl; return 0; }
Hinweis:
Der Unterschied zwischen statischen Mitgliedsfunktionen und gewöhnlichen Mitgliedsfunktionen:
·Statische Mitgliedsfunktionen haben keine Diese Zeiger können nur auf statische Mitglieder zugreifen (einschließlich statischer Mitgliedsvariablen und statischer Mitgliedsfunktionen). diesen Zeiger nicht haben
Verwenden Sie statische Member, um den Aufruf von Konstruktoren und Destruktoren zu verstehen
#include <iostream> using namespace std; class A { friend class B; //类B是类A的友元 public: static int value; static int num; A(int x, int y) { xp = x, yp = y; value++; cout << "调用构造:" << value << endl; } void displayA() { cout << xp << "," << yp << endl; } ~A() { num++; cout << "调用析构:" << num << endl; } private: int xp, yp; }; class B { public: B(int x1, int x2) : mpt1(x1 + 2, x2 - 2), mpt2(x1, x2) { cout << "调用构造\n"; //mpt是类A的对象,有几个mpt,有关类A的操作便执行几次 } void set(int m, int n); void displayB(); ~B() { cout << "调用析构\n"; //析构函数在类结束前调用,类结束的时候释放类申请的空间 } private: A mpt1, mpt2; //将A类的对象声明为B类的私有数据成员 }; int A::value = 0; int A::num = 0; void B::set(int m, int n) { mpt1.xp = m * 2, mpt1.yp = n / 2; } void B::displayB() { mpt1.displayA(); } int main() { B p(10, 20); cout << "Hello world!" << endl; B displayB(); //通过友元,使类B输出类A的私有数据成员 return 0; }
Verwandte Artikel:
Die Verwendung von statischen C++-Mitgliedern und konstanten MitgliedernDas obige ist der detaillierte Inhalt vonStatische Datenelemente und statische Elementfunktionen von C++-Klassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Eine Konstante wird auch als Variable bezeichnet. Sobald sie definiert ist, ändert sich ihr Wert während der Ausführung des Programms nicht. Daher können wir eine Variable als Konstante deklarieren, die auf einen festen Wert verweist. Es wird auch Text genannt. Konstanten müssen mit dem Schlüsselwort Const definiert werden. Syntax Die Syntax der in der Programmiersprache C verwendeten Konstanten ist wie folgt: consttypeVariableName; (oder) Verschiedene Arten von Konstanten Die verschiedenen Arten von Konstanten, die in der Programmiersprache C verwendet werden, sind wie folgt: Ganzzahlige Konstanten – Beispiel: 1,0 ,34, 4567 Gleitkommakonstanten – Beispiel: 0,0, 156,89, 23,456 Oktal- und Hexadezimalkonstanten – Beispiel: Hex: 0x2a, 0xaa.. Oktal

VS Code und Visual Studio C++ IntelliSense können Bibliotheken möglicherweise nicht abrufen, insbesondere bei der Arbeit an großen Projekten. Wenn wir mit der Maus über #Include<wx/wx.h> fahren, wird die Fehlermeldung „Quelldatei 'string.h' kann nicht geöffnet werden“ angezeigt (abhängig von „wx/wx.h“) und manchmal reagiert die Funktion zur automatischen Vervollständigung nicht. In diesem Artikel erfahren Sie, was Sie tun können, wenn VSCode und VSC++ IntelliSense nicht funktionieren oder Bibliotheken nicht extrahieren. Warum funktioniert mein Intellisense nicht in C++? Bei der Arbeit mit großen Dateien kommt es manchmal zu IntelliSense

Können Sie aufgrund des Fehlercodes 8C230002 keine Inhalte auf Ihrer Xbox kaufen oder ansehen? Einige Benutzer erhalten diese Fehlermeldung immer wieder, wenn sie versuchen, Inhalte auf ihrer Konsole zu kaufen oder anzusehen. Leider liegt ein Problem mit dem Xbox-Dienst vor. Versuchen Sie es später erneut. Wenn Sie Hilfe zu diesem Problem benötigen, besuchen Sie www.xbox.com/errorhelp. Statuscode: 8C230002 Dieser Fehlercode wird normalerweise durch vorübergehende Server- oder Netzwerkprobleme verursacht. Es kann jedoch auch andere Gründe geben, beispielsweise die Datenschutzeinstellungen oder die Kindersicherung Ihres Kontos, die Sie möglicherweise daran hindern, bestimmte Inhalte zu kaufen oder anzusehen. Beheben Sie den Xbox-Fehlercode 8C230002, wenn Sie beim Versuch, Inhalte auf Ihrer Xbox-Konsole anzusehen oder zu kaufen, den Fehlercode 8C erhalten

Als Eingabe nehmen wir das Integer-Array Arr[]. Ziel ist es, mithilfe einer rekursiven Methode die größten und kleinsten Elemente in einem Array zu finden. Da wir Rekursion verwenden, durchlaufen wir das gesamte Array, bis wir Länge = 1 erreichen, und geben dann A[0] zurück, was den Basisfall bildet. Andernfalls wird das aktuelle Element mit dem aktuellen Minimal- oder Maximalwert verglichen und sein Wert für nachfolgende Elemente rekursiv aktualisiert. Schauen wir uns verschiedene Eingabe- und Ausgabeszenarien dafür an −Input −Arr={12,67,99,76,32};Output −Maximum value in the array: 99 Explanation &mi

Laut Nachrichten vom 25. Mai gab China Eastern Airlines bei der Leistungsbesprechung die neuesten Fortschritte beim Passagierflugzeug C919 bekannt. Nach Angaben des Unternehmens ist der mit COMAC unterzeichnete C919-Kaufvertrag im März 2021 offiziell in Kraft getreten und das erste C919-Flugzeug wurde bis Ende 2022 ausgeliefert. Es wird erwartet, dass das Flugzeug bald offiziell in Betrieb genommen wird. China Eastern Airlines wird Shanghai als Hauptbasis für den kommerziellen Betrieb der C919 nutzen und plant die Einführung von insgesamt fünf C919-Passagierflugzeugen in den Jahren 2022 und 2023. Das Unternehmen gab an, dass zukünftige Einführungspläne auf der Grundlage der tatsächlichen Betriebsbedingungen und der Streckennetzplanung festgelegt werden. Nach Auffassung des Herausgebers handelt es sich bei der C919 um Chinas neue Generation globaler Single-Aisle-Hauptlinienpassagierflugzeuge mit völlig unabhängigen geistigen Eigentumsrechten und entspricht international anerkannten Lufttüchtigkeitsstandards. Sollen

Die Anzeige von Zahlen in verschiedenen Formaten ist eines der grundlegenden Codierungsprobleme beim Lernen. Verschiedene Codierungskonzepte wie bedingte Anweisungen und Schleifenanweisungen. Es gibt verschiedene Programme, in denen wir Sonderzeichen wie Sternchen verwenden, um Dreiecke oder Quadrate zu drucken. In diesem Artikel drucken wir Zahlen in Spiralform, genau wie Quadrate in C++. Wir nehmen die Anzahl der Zeilen n als Eingabe, beginnen in der oberen linken Ecke und bewegen uns nach rechts, dann nach unten, dann nach links, dann nach oben, dann wieder nach rechts und so weiter und so fort. Spiralmuster mit Zahlen 123456724252627282982340414243309223948494431102138474645321120373635343312191817161514

void ist in C ein spezielles Schlüsselwort, das zur Darstellung eines leeren Typs verwendet wird, also Daten ohne einen bestimmten Typ. In der C-Sprache wird void normalerweise in den folgenden drei Aspekten verwendet. Der Rückgabetyp der Funktion ist void. In der Sprache C können Funktionen unterschiedliche Rückgabetypen haben, z. B. int, float, char usw. Wenn die Funktion jedoch keinen Wert zurückgibt, kann der Rückgabetyp auf void gesetzt werden. Dies bedeutet, dass die Funktion nach Ausführung keinen bestimmten Wert zurückgibt. Zum Beispiel: voidhelloWorld()

Laut dem TIOBE Programming Community Index, einem der Benchmarks zur Messung der Beliebtheit von Programmiersprachen, wird er durch das Sammeln von Daten von Ingenieuren, Kursen, Anbietern und Suchmaschinen auf der ganzen Welt bewertet. Der TIOBE-Index im Januar 2024 wurde kürzlich veröffentlicht und die offizielle Rangliste der Programmiersprachen für 2023 wurde bekannt gegeben. C# wurde zum ersten Mal seit 23 Jahren als TIOBE-Programmiersprache des Jahres ausgezeichnet. In der offiziellen Pressemitteilung von TIOBE heißt es, dass C# seit mehr als 20 Jahren zu den Top 10 gehört und nun zu den vier großen Sprachen aufschließt und sich zur Programmiersprache mit dem größten Wachstum seit einem Jahr entwickelt hat (+1,43 %). Es hat sich diesen Preis mehr als verdient. Auf dem zweiten Platz liegen Scratch (+0,83 %) und Fortran (+0).
