/* INHERI.CPP vl 7.11.1993 */ #include #include //**************************************************************************** class piste { protected: // Jos halutaan peri„ luokka, pit„„ yht. osien olla prot int x; // Koordinaatit public: piste(int ix=0) { x = ix; } virtual void siirra(int ix) { x = ix; } virtual void nollaa() { x = 0; } }; //**************************************************************************** class ympyra : public piste { protected: int r; public: ympyra(int ix=0,int ir=2):piste(ix),r(ir) {} void koko(int ir) { r = ir ; } void siirra(int ix) { x = ix/2; } // void nollaa() { r = 0; } }; //**************************************************************************** int main(void) { piste a,b; piste *pp,p; ympyra *py,y; pp = &p; py = &y; printf("Koot: %d %d\n",sizeof(pp),sizeof(py)); printf("Koot: %d %d\n",sizeof(p),sizeof(y)); pp->siirra(3); py->siirra(4); pp->nollaa(); py->nollaa(); pp=&y; pp->siirra(3); int *i = (int *)pp; printf("*i=%04x %04x\n",*i,*(i+1)); a = y; // y = a; pp = &a; pp = &y; py = &y; *pp = a; return 0; }