Object interface added.
This commit is contained in:
parent
d61bd920c5
commit
8bc5c25008
4
Figure.h
4
Figure.h
|
@ -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);
|
||||
|
|
15
Object.h
15
Object.h
|
@ -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__
|
||||
|
|
Loading…
Reference in New Issue