123456789012345678901234567890123456789012345678901234567890 Kissa istuu puussa ja ihmettelee mualiman menoa
/* 01 */ 1234567890123456789012345678901234567890 /* 02 */ Kissa istuu puussa /* 03 */ ja ihmettelee /* 04 */ mualiman menoa
... sanat.tulosta(cout); cSanat sanat2(sanat); sanat2.tulosta(cout); cSanat sanat3; sanat3 = sanat; sanat3.tulosta(cout); return 0; }
/* akutie.cpp */ #include <iostream.h> #include <iomanip.h> #include <string> #include "streampr.h" using namespace std;class cLuokka;
/****************************************************************************/ class cOppilas { friend cLuokka; string nimi; double keskiarvo; cOppilas *seuraava; public: cOppilas(const string &animi, double arvo = 0 ) : nimi(animi) { keskiarvo = arvo; seuraava = NULL; } ostream &tulosta(ostream &os=cout) const; };
ostream &cOppilas::tulosta(ostream &os) const { cStreamPre pre(os,2,ios::left); os << setw(22) << nimi; os.setf(ios::right); os << " keskiarvo: " << setw(5) << keskiarvo << endl; os << endl; return os; }
/****************************************************************************/ class cLuokka { string luokka; int oppilaita; cOppilas *ensimmainen; cOppilas *viimeinen; public: void alusta() { oppilaita = 0; ensimmainen = NULL; viimeinen = NULL; } cLuokka(const string &aluokka) : luokka(aluokka) { alusta(); } ~cLuokka() { poista_kaikki(); } int lisaa(const cOppilas &oppilas); ostream &tulosta(ostream &os=cout) const; void poista_kaikki(); };
... /****************************************************************************/ int main(void) { cLuokka luokka("1b"); cOppilas aku("Ankka Aku",5.0); cOppilas mikki("Hiiri Mikki",9.0); luokka.lisaa(aku); luokka.lisaa(aku); luokka.lisaa(mikki);
luokka.tulosta();
return 0; }