/* CONORDER.CPP */ #include #include #include #define RIVEJA 14 class cMalli { int luku; char nimi[10]; static int rivi; // Tulostusrivien laskuri public: cMalli(int i=0, char *s="?") { luku = i; strcpy(nimi,s); tulosta("Rakentaja"); } ~cMalli() { tulosta("H„vitt„j„"); } void tulosta(char *s="???") const { rivi++; if (rivi>RIVEJA) gotoxy(40,1+rivi-RIVEJA); else gotoxy(1,1+rivi); printf("%2d %-10s: %-10s %3d\n",rivi,s,nimi,luku); } void vaihda(int i) { luku = i; tulosta("Vaihto");} }; int cMalli::rivi = 0; // ks. luokkamuuttujat int main(void) { clrscr(); printf("--------------------------------------------------------\n"); // rivinro cMalli m1(1,"m1"); // # 1 cMalli *p,*a; cMalli t[3]={ // # 2-4 cMalli(10,"t[0]"),cMalli(11,"t[1]"),cMalli(12,"t[2]") }; { m1.tulosta("Onko muita"); // # 5 cMalli m2(2,"m2"); // # 6 m2.tulosta("Nyt on 2"); // # 7 { cMalli m3(3,"m3"); // # 8 m3.tulosta("Nyt 3"); // # 9 p = new cMalli(4,"*p"); // #10 } // #11 } // #12 a = new cMalli[3]; // #13-15 delete p; // #16 a[1].tulosta("Dyn.taul."); // #17 for (int i=0; i<3; i++) a[i].vaihda( (i+1)*100 ); // #18-20 a[1].tulosta("Dyn.taul."); // #21 delete [] a; // #22-24 return 0; } // #25-28