was heisst ostream?



  • es geht um dieses Programm

    #include <iostream>
    #include <string>
    using namespace std;
    
    class Person
    {
    public: 
    enum familienstand {ledig,verheiratet,geschieden,verwitwet};
    enum geschlecht {maennlich,weiblich,beides,neutral}; 
    protected: 
    	string name; 
    	int alter; 
    	familienstand famstand; 
    	geschlecht g; 
    public: 
    	Person(string N,int A,familienstand F,geschlecht G) 
        {name = N; alter = A; famstand = F; g = G; }
    	virtual ~Person(){cout << "tschuesstschuess";}
    	ostream& ausgabe(ostream&) const; 
    };
    
    ostream& Person::ausgabe(ostream& o) const
    {
    	o << "Name.............."; 
    	o << name << endl; 
    	o << "Alter............."; 
    	o << alter << endl; 
    	o << "Geschlecht........"; 
    	if (g == weiblich) o << "weiblich\n"; 
    	else if (g == beides) o << "beides\n";
    	else if (g == neutral) o << "neutral\n";
    	else o << "maennlich\n";
    		o << "Familienstand....."; 
    	switch(famstand) 
    	{
    	case ledig : o << "ledig"; break; 
    	case verheiratet : o << "verheiratet"; break; 
    	case geschieden : o << "geschieden"; break; 
    	case verwitwet : o << "verwitwet";
    	}
    	return o; 
    }
    
    class Angestellter : public Person
    {
    private: 
    	double einkommen; 
    public: 
    	Angestellter(string N,int A,familienstand F,geschlecht G,double E): 
    	Person(N,A,F,G){ einkommen = E; }
    	ostream& ausgabe(ostream&) const; 
    };
    
    ostream& Angestellter::ausgabe(ostream& o) const
    {
    	return Person::ausgabe(o) << endl << "Einkommen.........DM " << einkommen << endl; 
    }
    
    int main()
    {
    	Person klaus("Franz Meier",32,Person::verheiratet,Person::neutral); 
    	klaus.ausgabe(cout); cout << endl;
    	cout << endl; 
    	Angestellter mueller("Gabi Mueller",26,Person::ledig,Person::weiblich, 3400); 
    	mueller.ausgabe(cout); cout << endl; 
    	return 0; 
    }
    


  • Und was is damit ?

    Tip: Blick in die FAQ Dateien und Ströme



  • Hi,

    ostream ist ein typedef für basic_ostream<char, char_traits<char>>.
    cout ist z.B. so ein ostream.
    basic_ostream ist die Basisklasse für alle Streams, die etwas mit Ausgabe zu tun haben.
    basic_ofstream erbt z.B. davon.

    MfG Eisflamme



  • danke für die schnelle antwort


Anmelden zum Antworten