Problem mit Klasse



  • Auto::Auto(): int Türen = 4
    {}
    

    habe ich da was verpasst?



  • xBlackKnightx schrieb:

    Auto::Auto(): int Türen = 4
    {}
    

    habe ich da was verpasst?

    nein:

    pumuckl schrieb:

    1. Die Initialisierungsliste in Zeile 13 ist falsch. Schau dir dazu am Besten nochmal den entsprechenden Abschnitt in deinem buch/Tutorial an.

    bb



  • jencas schrieb:

    ...und Umlaute in Variablen sind BÄÄÄÄÄHHHH!!!!

    Stimmt garnicht gesehn. Die sind nicht BÄÄH sondern schlichtweg undefiniert/verboten, also mehr als nur BÄÄH. Umlaute sind im Standard-Zeichensatz nicht enthalten.



  • pumuckl schrieb:

    jencas schrieb:

    ...und Umlaute in Variablen sind BÄÄÄÄÄHHHH!!!!

    Stimmt garnicht gesehn. Die sind nicht BÄÄH sondern schlichtweg undefiniert/verboten, also mehr als nur BÄÄH. Umlaute sind im Standard-Zeichensatz nicht enthalten.

    Sicher? Ich dachte ja ma, dass iwer geschrieben hätte, dass der jeweilge Zeichensatz für Varialben-Namen verwendet werden dürfte und somit ein ü o.ä.(zumindest in der Theorie) in Ordnung wäre?!

    bb


  • Administrator

    Also eine Variable ist ja ein Identifier, daher nach Standard (2003 - 2.10 Identifiers):

    identifier:
    nondigit
    identifier nondigit
    identifier digit

    nondigit: one of
    universal-character-name
    _ a b c d e f g h i j k l m
    n o p q r s t u v w x y z
    A B C D E F G H I J K L M
    N O P Q R S T U V W X Y Z

    digit: one of
    0 1 2 3 4 5 6 7 8 9

    Also um die Variable türe zu verwenden, müsste man dies so schreiben:

    #include <iostream>
    
    int main()
    {
    	int t\u00DCre = 10;
    
    	std::cout << t\u00DCre << std::endl;
    
    	return 0;
    }
    

    Und ja, das kompiliert wirklich 😉

    Grüssli



  • danke ^^



  • Hab's hingekriegt. Danke nochmals an alle...

    #include <iostream>
    
    using namespace std;
    
    class Auto {
    public:
        int Turen;
        Auto();
        ~Auto();
    	void sichVorstellen();
    };
    
    Auto::Auto(): Turen(4)
    {}
    
    Auto::~Auto()
    {
        cout << "Die Klasse Auto wurde aufgehoben" << endl;
    }
    
    void Auto::sichVorstellen()
    {
        cout << "Auto Tueren: " << Turen << endl;
    }
    
    void funktion();
    
    int main()
    {
    	funktion();
        cin.get();
        return 0;
    }
    
    void funktion()
    
    {
    	Auto ford;
    	ford.sichVorstellen();
    }
    


  • noch ein paar Anmerkungen:

    Auto::~Auto() 
    { 
        cout << "Die Klasse Auto wurde aufgehoben" << endl; 
    }
    

    Nein - lediglich eine Instanz dieser Klasse ist zerstört wurden...

    void funktion();
    nicht gerade sehr aussagekräftiger name, meinst du nicht?!

    Sich vorstellen ist auch komisch, aber ok... ^^

    bb



  • Dravere schrieb:

    Und ja, das kompiliert wirklich 😉

    Grüssli

    Laut Standard muss es das ja auch 😉
    Vermutlich übersetzen die gägngien Compiler bzw. ihre Präprozessoren auch Umlaute in eine solche Darstellung.



  • unskilled schrieb:

    noch ein paar Anmerkungen:

    Auto::~Auto() 
    { 
        cout << "Die Klasse Auto wurde aufgehoben" << endl; 
    }
    

    Nein - lediglich eine Instanz dieser Klasse ist zerstört wurden...

    void funktion();
    nicht gerade sehr aussagekräftiger name, meinst du nicht?!

    Sich vorstellen ist auch komisch, aber ok... ^^

    bb

    Stimmt ^^


Anmelden zum Antworten