oop_in_c/main.c

39 lines
872 B
C

#include <stdio.h>
#include <stdlib.h>
#include "ColoredSquare.h"
int main (int argc, char *argv[])
{
Figure *fig[2];
fig[0] = Square_new ();
fig[1] = ColoredSquare_new ();
((ColoredSquare *) fig[1])->vtable->set_color (fig[1], 5);
((Square *) fig[0])->vtable->resize (fig[0], 2);
((Square *) fig[1])->vtable->resize (fig[0], 3);
fig[0]->vtable->draw (fig[0]);
fig[1]->vtable->draw (fig[1]);
printf ("area(%lu) = %f\n",
(unsigned long) fig[0],
fig[0]->vtable->area (fig[0]));
printf ("area(%lu) = %f\n",
(unsigned long) fig[1],
fig[1]->vtable->area (fig[1]));
printf ("diag_length(%lu) = %f\n",
(unsigned long) fig[0],
((Square *) fig[0])->vtable->diag_length (fig[0]));
/*goto end;
err:
end:*/
fig[0]->vtable->destroy (fig[0]);
fig[1]->vtable->destroy (fig[1]);
return 0;
}