| Zeile 101: | Zeile 101: | ||
= new/delete = | = new/delete = | ||
| + | Um dynamisch Objekte mit new erstellen bzw. mit delete zerstören zu können muss man die vier Operatoren | ||
| + | *new | ||
| + | *new[] | ||
| + | *delete | ||
| + | *delete[] | ||
| + | implementieren. | ||
| + | |||
| + | Eine einfache Implementation ist z.B.: | ||
| + | <cpp> | ||
| + | void *operator new( size_t size ) | ||
| + | { | ||
| + | return kcalloc( size ); | ||
| + | } | ||
| + | |||
| + | void *operator new[]( size_t size ) | ||
| + | { | ||
| + | return kcalloc( size ); | ||
| + | } | ||
| + | |||
| + | void operator delete( void *ojb ) | ||
| + | { | ||
| + | kfree( obj ); | ||
| + | } | ||
| + | |||
| + | void operator delete[]( void *obj ) | ||
| + | { | ||
| + | kfree( obj ); | ||
| + | } | ||
| + | </cpp> | ||
| + | |||
= RTTI = | = RTTI = | ||
= Exceptions = | = Exceptions = | ||