## ICloneable class


Defies a method that enables object cloning - creating a copy of an object. Objects of this class should only be allocated using [System::MakeObject()](../makeobject/) function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into [System::SmartPtr](../smartptr/) pointer and use this pointer to pass it to functions as argument.

```cpp
class ICloneable : public virtual System::Object
```

## Methods

| Method | Description |
| --- | --- |
| virtual [Clone](./clone/)() | RTTI information. |
## See Also

* Class [Object](../object/)
* Namespace [System](../)
* Library [Aspose.PDF for C++](../../)
