Fehler kann keine Mitgliedsfunktion ohne Objekt C ++ aufrufen

Fehler kann keine Mitgliedsfunktion ohne Objekt C ++ aufrufen
Die Programmiersprache ist ein Bündel verschiedener Konzepte, integrierter Funktionen und Operationen. Es gibt auch viele Fehler. Diese Fehler können logische Typ, Syntaxfehler und andere sein. Sie können beim Codieren viele Fehler erhalten, wenn Sie im Code logische oder Syntaxfehler machen. Einer der Fehler aus vielen dieser Ausnahmen ist "Die Elementfunktion kann nicht ohne Objekt aufrufen". Es tritt auf, wenn wir versuchen, eine Funktion in unserem Programm aufzurufen, ohne ein Klassenobjekt zu erstellen. Diese Anleitung enthält also Beispiele, die diesen Fehler aufnehmen und die Lösung zur Lösung. Stellen Sie sicher, dass Sie am Ubuntu 20 gearbeitet haben.04 System und starten Sie das Terminal über "Strg+Alt+T". Beginnen wir mit den Beispielen.

Beispiel 01:

Beginnen wir mit unserem ersten Beispiel, um herauszufinden, wie wir den Fehler "Die Elementfunktion nicht ohne Objekt aufrufen können" in C ++ - Code erhalten. Als erstes müssen wir also eine C ++ - Datei erstellen. Diese Datei kann mit einem Texteditor innerhalb des Datei -Explorers oder innerhalb der Shell erstellt werden. Sie können versuchen, es mit dem VIM -Editor, Texteditor oder einem anderen Editor wie Gnu Nano Editor zu öffnen. Daher haben wir diese neu erstellte Datei im GNU -Nano -Editor direkt mit dem Befehl "Nano" geöffnet. Jetzt wird die leere neu erstellte Datei im Nano -Editor gestartet und verwendet zu werden.

Wir haben unseren Code mit dem Hinzufügen einiger Header -Dateien gestartet, ich.e., "Iostream". Sie können den Namespace „STD“ im Code verwenden, während Sie ihn vor der Hauptfunktion deklarieren. Andernfalls müssen Sie das Schlüsselwort „STD“ mit jeder COUT- und CIN -Klausel im Programm verwenden. Wir haben es also vor der Hauptmethode mithilfe des Schlüsselworts "Verwenden" initialisiert. Wir haben eine einfache Klasse mit dem Namen "A" im Code erstellt. Diese Klasse enthält eine einzelne benutzerdefinierte Funktion namens "show ()" ". Die Funktion enthält die Deklaration einer Charakter -Typ -Variablen mit dem Namen "A". Die erste Cout -Anweisung dieser Funktion bittet darum, dass ein Charakter von einem Benutzer hinzugefügt wird. Mit der Klausel „CIN“ können ein Benutzer dieses Zeichen der Shell hinzufügen und es der Variablen „A“ speichern. Die letzte Cout -Anweisung wurde hier verwendet, um das Zeichen auf der Shell anzuzeigen, die der Benutzer eingibt.

Jetzt ist die Klasse beendet, und wir haben die Hauptmethode begonnen. Es ist Zeit, die Funktion aufzurufen, um sie auszuführen, ohne etwas anderes zu verwenden. Wir haben also einfach den Klassennamen "A" mit "::" verwendet, um die Funktion "show ()" in der Hauptmethode zu nennen. Die Hauptmethode ist hier geschlossen. Wir sind bereit, diesen Code mit Strg+S zu speichern, da er bereits abgeschlossen ist.

Kehren Sie zum Terminal zurück, indem Sie „Strg+x verwenden. Jetzt ist es höchste Zeit, den Code mit dem C ++ integrierten Compiler von Ubuntu 20 zu kompilieren.04. Daher haben wir hier den Compiler-Befehl "g ++" verwendet, um einfach die Codedatei zu kompilieren und festzustellen, ob sie fehlerfrei ist oder nicht. Bei der Zusammenstellung zeigt es den Fehler an. Dies bedeutet.

Wir müssen also die Codedatei erneut aktualisieren. Nutzen Sie den Nano -Editor erneut und beheben Sie diesen Fehler auf. Die alte Datei wird also wieder geöffnet. Wir müssen nur die Funktion main () ändern, um sich diesem Fehler bisher zu entziehen. Wir haben also ein Objekt "obj" der Klasse "A" erstellt. Nun wurde hier dieses Objekt "OBJ" verwendet, um die Funktionshow () der Klasse "A" mit dem "Punkt" zwischen dem Objektnamen und dem Funktionsnamen aufzurufen. Speichern Sie den Code, um die Änderungen der Ausführung mithilfe der einfachen Abkürzungstaste zu reflektieren.e., "Strg+S". Der aktualisierte Code wurde im Bild unten angezeigt. Kommen wir zum Terminal zurück, um den aktualisierten Code mit "Strg+x" zu kompilieren.

Verwendete die COM -Kompilieranweisung "G ++" zum Zweck der Codekompilation. Diesmal haben wir keinen Fehler. Bei der Ausführung des Code haben wir das Ergebnis unten angezeigt. Es wurde gebeten, den Charakter einzugeben und "A" hinzuzufügen. Im Gegenzug zeigte es das Zeichen auf der Schale. Verwenden des Objekts zum Aufrufen der Funktionshow ().

Beispiel 02:

Lassen Sie uns ein weiteres Beispiel für den gleichen Fehler haben und anschließend lösen. Also haben wir den Dateifehler geöffnet.CC und erstellt den unteren Code. Dieser Code wurde aus der iOstream -Header -Datei STD -Namespace gestartet und mit der Hauptmethode endete. Unser Programm enthält zwei Klassen, A und B. A ist übergeordnete Klasse und B ist eine untergeordnete Klasse von A, die hier seine Eigenschaften erbt. Die übergeordnete Klasse A enthält eine Funktion „print ()“ mit einer einzigen Anweisung, in der angezeigt wird, dass dies eine übergeordnete Klassenfunktion ist. Die untergeordnete Klasse enthält eine Funktion „show ()“ mit einer Cout -Anweisung, in der angezeigt wird, dass die Methode der untergeordneten Klassen ausgeführt wurde. Die Funktion main () enthält eine einfache Methode „::“, um beide Methoden mit ihren jeweiligen Klassen aufzurufen.e., "A und B". Lassen Sie uns diesen Code einfach ausführen, um zu sehen, wie er funktioniert.

Wenn wir den Code zusammengestellt haben, haben wir den Ausnahmefehler mit der Aufschrift „Die Funktion der Mitgliedsfunktion ohne Objekt können für beide Funktionsaufrufe nicht aufgerufen werden. Dies liegt daran.

Öffnen wir die Datei einfach mit dem "Nano Editor" erneut mit dem "Nano -Editor". Es besteht keine Notwendigkeit, den gesamten Code zu ändern. Nur die main () -Methode erfordert eine kleine Änderung. Da Sie sich so ansehen können, haben wir ein Objekt OBJ1 der übergeordneten Klasse „A“ erstellt und es verwendet, um einen Funktionsaufruf zur Print () -Methode durchzuführen. Dann haben wir ein Objekt "OBJ2" der Kinderklasse B erstellt und einen Funktionsaufruf gemacht, um "show ()" hier zu funktionieren, um es auszuführen. Wir können es auch vermeiden, das übergeordnete Klassenobjekt "OBJ1" zu machen und seine Funktion dennoch mit dem Objekt "OBJ2" unter Verwendung des Objekts für untergeordnete Klassen aufzurufen. Beide Funktionen in Eltern- und Kinderklassen haben unterschiedliche Namen, sodass dies keinen Fehler verursacht. Speichern wir einfach die Codedatei mit Strg+S und kehren Sie zum Terminal zurück, um festzustellen, ob der Fehler behoben ist oder nicht.

Nach der Kompilierung des aktualisierten Code können wir einen Blick darauf werfen, dass der Fehler "Die Funktionsfunktion ohne sein Objekt nicht aufrufen kann", und der Code ist bereit, ausgeführt zu werden. Sowohl übergeordnete als auch Kinderklassenfunktionen wurden wie beim Ausführen des Code gezeigt ausgeführt.

Abschluss:

Dieser Artikel enthält eine einfache Demonstration des Erstellens eines Fehler. Wir haben das Konzept der Klassen hier verwendet, um es möglich zu machen. Anschließend haben wir auch die Lösung zur Lösung dieses Fehlers in den Beispielen gezeigt. Wir sind sehr zuversichtlich, dass dieser Artikel für alle C ++ - naiven Benutzer hilfreich sein wird.