Dumme Frage


  • Mod

    Winnie01 schrieb:

    bin für alle Verbeserungsvorschläge natürlich offen 😉

    alles streichen?



  • Winnie01 schrieb:

    in C++ würde ich es so machen:

    #include <iostream>
    #include <string>
    
    class Ausgabe
    {
        private:
            std::string _s;
    
        public:
            Ausgabe() : _s(0) {}
            Ausgabe(std::string Text);
            
            ~Ausgabe() {}
    
            void sehen() const;
    };
    
    Ausgabe::Ausgabe(std::string Text)
    {
        _s = Text;
    }
    
    void Ausgabe::sehen() const
    {
        std::cout << _s.c_str() << std::endl;
    }
    
    int main()
    {
        Ausgabe a("Ich habe keine Ahnung!");
        
        a.sehen();
        
        return 0;
    }
    

    bin für alle Verbeserungsvorschläge natürlich offen 😉

    Gruß, Winnie

    😕 😕 😕



  • nich akzeptiert? Warum?



  • Overkill? Ich meine wenn Du mit Deinem Auto von A nach B willst, verlädst Du es dann auch in einen Grossraum-LKW und fährst dann mit dem? 😃



  • LordJaxom schrieb:

    Overkill? Ich meine wenn Du mit Deinem Auto von A nach B willst, verlädst Du es dann auch in einen Grossraum-LKW und fährst dann mit dem? 😃

    Wenn es hier um C++ geht, dann aber richtig :p



  • In c++ ist es genau das 3 Zeilen Programm (von den Includes abgesehen) das vorher gepostet wurde.

    Wieso ne eigene Klasse schaffen, wenn es die Klasse string schon gibt? Wieso eine Memberfunktion zum couten, wenn es den operator<< fuer strings eh schon gibt.

    Wie gesagt ein absoluter Overkill fuer ein an sich einfaches Programm.



  • wie sagt man so schön: es gibt keine dummen Fragen... Ich wollte halt auch mal was dazu beitragen 😉

    Andererseits - wozu den Compiler mit dem Dreizeile bemühen, das mir nur sagen will - dass ich doof bin... Scripte tuhen es auch.

    Batch, Bash, Sh und Ä.

    echo ich bin doof.
    

    oder mal was anspruchvolles - VB\1:

    MsgBox "ich auch.", vbInformation
    

    Vielleicht sollte man sich zuerst überlegen - wozu man das braucht, bevor man mit Programmieren anfängt (und das auch noch in C++). Viele Sachen lassen sich oft viel einfacher lösen (sonst würde es ja die dummen äh die schlauen Scriptsprachen nicht geben)... 😃



  • littlejohn schrieb:

    um nochmal auf die ausgangsfrage zu antworten:

    int main()
    {
    using std::string;
    string name;
    name = "Ahnung.";
    printf ("Ich hab keine %s ", name[b].data()[/b] );
    return 0;
    }
    

    name ist nur die Stringinstanz. Um an die in der Klasse gespeicherten daten zu kommen, gibts die data()-funktion.

    Nimm statt dem 'data()' lieber 'c_str()'. Es ist nicht garantiert, daß data() einen null-terminierten String zurückgibt - und das kann im Zweifelsfall ungesund sein, wenn du ihn im C-Stil weiterverarbeiten willst.


Anmelden zum Antworten