This section covers the IDL to C++ mapping of interfaces that are derived from other interfaces or a base interface. For example, the following IDL code defines an interface:
// IDL interface StateFee : NationalTax { void setFeeLimit( CORBA::Float limit); };
The C++ mapping for this example is as follows:
// C++ class StateFee : public virtual NationalTax { public: virtual void setFeeLimit( CORBA::Float limit); };
CORBA and C++ (based on the proposed draft ANSI C++ standard) conformance does not allow normal or cast assignments to be made from a base class object reference to a derived class object reference.
Refer to Inheritance and Widening and Narrowing Object References for more information about derived interfaces.