2017-11-13 1 views
-3

Dies ist Teil meines Codes, es ist nicht die volle Sache:Welche Art von Mitglied ist btnode * rt()?

#include<iostream> 
using namespace std; 
int c,f; 

struct btnode 
{ 
    btnode *left; 
    int data; 
    btnode *right; 
}; 

class bt 
{ 
    private: 
    btnode *root; 

public: 
bt() 
{ 
    root=NULL; 
} 
btnode * rt() 
{ 
    return root; 
} 

Kann mir jemand sagen, was btnode *rt() genannt wird? Ist es ein Konstruktor oder eine Methode?

+0

'rt()' gibt einen Zeiger auf Ihren Wurzelknoten zurück. –

+0

Konstruktor ist auch eine Methode, wenn auch eine besondere. Konstruktor ist in diesem Fall 'bt()'. 'btnode * rt()' bedeutet, dass diese Methode etwas vom Typ 'btnode' zurückgibt. – joym8

Antwort

1

Dies sieht wie eine Klasse für Binärbäume aus.

btnode * rt() ist die Methode, die den Stamm des Binärbaums (durch einen Zeiger vom Typ btnode) zurückgibt.

bt() ist Ihr Konstruktor, der root zuerst auf null initialisiert.

1

bt() ist ein Konstruktor, der durch den Klassennamen und keinen Rückgabetyp erkannt wird. Das ist eine spezielle Art von Mitgliedsfunktion.

btnode* rt() ist eine gewöhnliche Member-Funktion, manchmal auch Methode genannt, wie sie in einigen anderen Sprachen üblich ist. Hier könnte es auch als Accessor-Funktion bezeichnet werden, da es Ihnen den Zugriff auf ein (privates) Klassenmitglied ermöglicht.