-
Key: CPP12-25
-
Legacy Issue Number: 3298
-
Status: closed
-
Source: Floorboard Software ( Jonathan Biggar)
-
Summary:
The CORBA 2.3.1 specification does not cover the case of code generation
for the OBV_ class constructor for a valuetype that inherits from
another concrete valuetype:// IDL
{ octet o1; }
valuetype A;
valuetype B : A
{ octet o2; };
The generated OBV constructor for class B needs to take both o1 and o2
arguments, so it should look like this:// C++
{ ... protected: ... OBV_B(Octet init_o1, Octet init_o2) }
class OBV_B;
Proposal:
Change the second paragraph of 1.17.2 to read:
"For the same reasons, a C++ OBV_ class defines a protected default
constructor, a protected constructor that takes an initializer for each
valuetype data member, and a protected default constructor. The
parameters of the constructor that takes an initializer for each member
appear in the same order as the data members appear, top to bottom, in
the IDL valuetype definition, regardless of whether they are public or
private. If the valuetype inherits from a concrete valuetype, then
parameters for the data members of the inherited valuetype appear
first. All parameters for the member initializer constructor follow the
C++ mapping parameter passing rules for in arguments of their respective
types." -
Reported: CPP 1.1 — Sun, 6 Feb 2000 05:00 GMT
-
Disposition: Resolved — CPP 1.2
-
Disposition Summary:
see below
-
Updated: Fri, 6 Mar 2015 21:37 GMT