// aikacla6.cpp - laajentaminen muuttamalla kantaluokkaa #include #include class cAika { int h,m,s; // lisätty s public: cAika(int ih=0, int im=0, int is=0); // lisätty is=0 void aseta(int ih,int im=0, int is=0); // lisätty is=0 void lisaa(int lisa_min, int lisa_sek=0); // lisätty lisa_sek=0 void tulosta(int tulsek=0) const; // lisätty tullisa_sek=0 }; void cAika::aseta(int ih,int im, int is) // lisätty is { s = is; h = ih; m = im; lisaa(0,0); // lisätty s=is ja ,0 } cAika::cAika(int ih, int im, int is) // lisätty int is { aseta(ih,im,is); } void cAika::lisaa(int lisa_min, int lisa_sek) // lisätty int lisa_sek { s += lisa_sek; // lisätty int yht_min = h * 60 + m + lisa_min + s / 60; // lisätty s / 60 s = s % 60; // lisätty h = yht_min / 60; m = yht_min % 60; } void cAika::tulosta(int tulsek) const // lisätty int tulsek { cout << setfill('0') << setw(2) << h << ":" << setw(2) << m; if ( tulsek ) cout << ":" << setw(2) << s; // lisätty cout << endl; } int main(void) { cAika a1, a2(13), a3(14,175); // ei muutoksia! a1.tulosta(); a2.tulosta(); a3.tulosta(); a1.aseta(12,15); a2.aseta(16,-15); a1.tulosta(); a2.tulosta(); cAika a4(12,55,45); a4.tulosta(1); // lisätty uusi a4.lisaa(3,30); a4.tulosta(1); return 0; }