/* STRING.CPP */ #include #include #include class cJono{ char *s; int max_pit; int pit; public: cJono(char *p) { /* Rakentaja jos alustus merkkijonolla */ max_pit = pit = strlen(p); s = (char *)malloc(pit+1); // Huom! Oikeasti new kunhan opitaan if ( !s ) pit = max_pit = 0; else { strcpy(s,p); max_pit = pit; } } cJono(int l=255) { /* Rakentaja jos kutsu kokonaisluvulla */ pit = 0; max_pit = l; s = (char *)malloc(max_pit+1); if ( !s ) max_pit = 0; } ~cJono() { /* H„vitys aina merkkijonon poisto */ free(s); pit = max_pit = 0; } int pituus() const { return pit; } char kirjain(int i=0) const { if (i 0 ) printf(fmt,s); } }; int main(void) { cJono kissa("Kissa"),kana(4); kana.sijoita("Kana"); kissa.tulosta(); // Kissa kana.tulosta(); // Kana kissa.sijoita("Muuttohaukka"); kissa.tulosta(); // Muutt return 0; }