Datum und Uhrzeit per C++ lesen

Code:
#include <iostream>

struct general{
        general(){
        std::cout << "Super constructor" << std::endl;
        }
};
struct test : public general{
        public:
                test(){
                        std::cout << "constructor" << std::endl;
                        this->cname = new char[3];
                }
                ~test(){
                        std::cout << "destructor" << std::endl;
                        delete[] this->cname;
                }
        private:
                char* cname;

};

int main(){
        test t;

}
 
moin


Hmm, das hätte ich nicht gedacht.
Damit wäre meine Aussage das Strukturen nciht veraltet sind bewiesen ;-)

Gibt es dann überhaupt einen Unterschied außer das bei Klassen alles privat und bei Strukturen public ist. Standartmäßig mein ich.


mfg
umbrasaxum
 
Mhm ich denke nicht...
Das mit dem public und private wäre mal intressant zu wissen,
warum das so ist, weil eigentlich wenn die struct ein Synonym für die
Klasse darstellen soll, wäre das ein Konsistenzproblem...
Ausserdem um die Semantik zu bewahren sollte man
wenn man OO programmieren möchte (will heißen Attribute und
Methoden kapseln moechte) die Klasse vorziehen,
und wirklich nur wenn man Definitionsgemäss einen Produkttyp (also
einen simplen vektor zusammengesetzt aus anderen Datentypen, so
wie sie in C definiert ist)braucht auf eine struct zurückgreifen...

Gruß

RedWing
 
moin


Ich meine gelesen zu haben das das public nach private geändert wurde, um das programmieren sicherer zu machen also Fehlern vorzubeugen.
Und ja man sollte eher zu Klassen tendieren, alleine schon weil das zum Konzept der OOP gehört.
Nur bei Funktionen die es schon zu C Zeiten gab, hat mein keine große Wahl, außer die vorgegeben Strukturen zu benutzen.


mfg
umbrasaxum
 
Und @paddyman bevor du dich jetzt vollends hier verwirrend laesst. Man sollte immer dass fuer ein Programm einsetzten, was am besten zum Ziel fuehrt (wobei das Ziel vom edlen Programmierstyle ueber schnelle Ausfuehrung bis zum moeglichst nicht lesbaren Programm alles abdecken kann). Manchmal braucht man nur ordinaere Strukturen, manchmal ist ne Klasse besser. Richtig ist aber sicherlich, dass man beim c++ lernen, sich vor allem erstmal viel mit der Objektorientierten programmmierung beschaeftigen, viel viel spaeter kann man sich damit beschaeftigten wo selbst bei c++ noch ein goto mal sinnvoll sein kann.
 
außer das bei Klassen alles privat und bei Strukturen public ist. Standartmäßig mein ich.
Das mit dem public und private wäre mal intressant zu wissen,
warum das so ist, weil eigentlich wenn die struct ein Synonym für die
Klasse darstellen soll, wäre das ein Konsistenzproblem...

Hab das grad während eines Spazierganges nochmal überdacht, und
eigentlich liegt die Antwort auf der Hand :)
Das default verhalten für sichtbarkeiten in einer Struktur ist public,
weil man die Abwärtskompabilittät zu C bewahrt hat...


Gruß

RedWing
 
Zurück