### Using IMGraphic Constructors

The IMGraphic constructors are protected and are used only when you derive from IMGraphic to create a custom 2D graphic.

IMGraphic is an abstract base class that cannot be instantiated. In the following descriptions, creating IMGraphic actually means creating an instance of one of the IMGraphic subclasses.

The default constructor creates an instance of IMGraphic with a NIL IGrafBundle.

IMGraphic();

The copy constructor does a complete copy of the source IMGraphic. The base class makes a copy of the IGrafBundle.

IMGraphic(const IMGraphic& source);

This constructor creates an IMGraphic adopting the parameter adoptBundle. Once the bundle is adopted, let go of all the aliases to the bundle.

IMGraphic(const IGrafBundle* adoptBundle);

The default assignment operator does a complete copy of the source IMGraphic into the destination and clones the source IMGraphic bundle. The behavior of the assignment operator is similar to that of the copy constructor.

IMGraphic& operator= (const IMGraphic& source);

Using IMGraphic Destructors

Creating a Graphics Class