#include <e32base.h>
| class CBase |
| Public Member Functions | |
|---|---|
| CBase() | |
| virtual | ~CBase() |
| IMPORT_C void | Delete(CBase *) |
| TAny * | operator new(TUint, TAny *) |
| TAny * | operator new(TUint) |
| TAny * | operator new(TUint, TLeave) |
| TAny * | operator new(TUint, TUint) |
| TAny * | operator new(TUint, TLeave, TUint) |
| Protected Member Functions | |
|---|---|
| virtual IMPORT_C TInt | Extension_(TUint, TAny *&, TAny *) |
Container Base Class
Base class for all classes to be instantiated on the heap.
By convention, all classes derived from CBase have a name beginning with the letter 'C'.
The class has two important features:
1. A virtual destructor that allows instances of derived classes to be destroyed and properly cleaned up through a CBase* pointer. All CBase derived objects can be pushed, as CBase* pointers, onto the cleanup stack, and destroyed through a call to CleanupStack::PopAndDestroy().
2. Initialisation of the CBase derived object to binary zeroes through a specific CBase::operator new() - this means that members, whose initial value should be zero, do not have to be initialised in the constructor. This allows safe destruction of a partially-constructed object.
Note that using C++ arrays of CBase-derived types is not recommended, as objects in the array will not be zero-initialised (as there is no operator new[] member). You should use an array class such as RPointerArray instead for arrays of CBase-derived types.
See also: CleanupStack
| IMPORT_C | ~CBase | ( | ) | [virtual] |
Virtual destructor.
Enables any derived object to be deleted through a CBase* pointer.
| IMPORT_C void | Delete | ( | CBase * | aPtr | ) | [static] |
Deletes the specified object.
| Parameters | |
|---|---|
| aPtr | Pointer to the CBase derived object to be deleted. |
Extension function
Initialises the object to binary zeroes.
| Parameters | |
|---|---|
| aSize | The size of the derived class. This parameter is specified implicitly by C++ in all circumstances in which a derived class is allocated. |
| aBase | Indicates a base address which is returned as the object's address. |
Allocates the object from the heap and then initialises its contents to binary zeroes.
| Parameters | |
|---|---|
| aSize | The size of the derived class. This parameter is specified implicitly by C++ in all circumstances in which a derived class is allocated. |
Allocates the object from the heap and then initialises its contents to binary zeroes.
| Parameters | |
|---|---|
| aSize | The size of the derived class. This parameter is specified implicitly by C++ in all circumstances in which a derived class is allocated. |
Allocates the object from the heap and then initialises its contents to binary zeroes.
Use of this overload is rare.
| Parameters | |
|---|---|
| aSize | The size of the derived class. This parameter is specified implicitly by C++ in all circumstances in which a derived class is allocated. |
| aExtraSize | Indicates additional size beyond the end of the base class. |
Allocates the object from the heap and then initialises its contents to binary zeroes.
Use of this overload is rare.
| Parameters | |
|---|---|
| aSize | The size of the derived class. This parameter is specified implicitly by C++ in all circumstances in which a derived class is allocated. |
| aExtraSize | Indicates additional size beyond the end of the base class. |