Instanzvariable



  • Hallo,

    ich habe eine wohl ziemlich dämliche Frage und zwar folgende: Wie kann ich auf den Namen einer Instanzvariable zugreiffen. Im Beispiel möchte ich direkt auf den Namen der Katze zugreifen, wobei der Katzenname direkt dem Namen der Instanzvarialbe entspricht.

    #include<iostream>
    using namespace std;
    
    class Cat{
    int weight;
    int age;
    
    public:
    Cat(int nWeight,int nAge){
    	weight = nWeight;
    	age =nAge;
    	}
    
    void show(){
    	cout << "Name:\t\t" << this << endl;   // HIER SOLLTE DER NAMEN 
                                               // DER INSTANZ VARIABLE STEHEN 
    	cout << "Gewicht:\t" << weight << endl;
    	cout << "Alter:\t\t" << age << endl;
    	}	
    };
    
    int main(){
    
    	Cat Muschi(4,10);
    	Muschi.show();
    
    return 0;
    }
    

    Der Katzennamen ist Muschi den möchte ich auch so anzeigen, mit dem this-Pointer erhalte ich ja nur die Speicheradresse. Doch mittels Dereferenzierung des Pointers erhalte ich auch nicht den Namen der Instanzvariable.

    Gibt es eine Möglichkeit, wie ich auf den Namen (Muschi) zugreifen kann.

    Wie ihr der Frage entnehmen könnt, bin ich nicht sehr programmiererfahren, ich bin darum für Antworten sehr dankbar.

    Mangnus


  • Mod

    Das geht nicht. Variablenbezeichner sind nur für dich als Programmierer da. Gib deiner Katze ein Namensattribut.



  • Hallo SeppJ,

    vielen Dank für deine schnelle Antwort ! 🙂 .

    schönen Abend
    Mangnus


Anmelden zum Antworten