Object interface added.

This commit is contained in:
Kolan Sh 2012-05-03 16:03:48 +04:00
parent d61bd920c5
commit 8bc5c25008
2 changed files with 19 additions and 0 deletions

View File

@ -24,18 +24,22 @@ static inline const char* Figure_type (const Figure *this)
{
return this->vtable->type ();
}
static inline Figure* Figure_clone (const Figure *this)
{
return this->vtable->clone (this);
}
static inline void Figure_destroy (Figure *this)
{
this->vtable->destroy (this);
}
static inline void Figure_draw (const Figure *this)
{
this->vtable->draw (this);
}
static inline double Figure_area (const Figure *this)
{
return this->vtable->area (this);

View File

@ -14,4 +14,19 @@ typedef struct Object
} Object;
static inline const char* Object_type (const Object *this)
{
return this->vtable->type ();
}
static inline Object* Object_clone (const Object *this)
{
return this->vtable->clone (this);
}
static inline void Object_destroy (Object *this)
{
this->vtable->destroy (this);
}
#endif // __OBJECT_H__