
So if I have created an object of Base like this: Base b_obj = Base(), Is the object b_obj is "most-derived" object? A most-derived object may be a subobject, so you cannot infer object completeness from most-derivedness (however, you can infer that the most-derived object is of class type).

Every complete object of class-type is a most-derived object only if that class inherits.Objects may be of class type, but non-class type objects also exist. A most-derived object is an object of a most-derived class, and a most-derived class must be of a class type. Is every "complete" object is "most-derived" object If I have created an object of Derived like this: Derived d_obj = Derived(), is the object d_obj also a "most-derived" object?ĭoes the word "derived" in "most-derived" mean that the object is an object of a class like MostDerived, or mean that the object has no class subobject in it? If I have created an object of Base like this: Base b_obj = Base(), is the object b_obj a "most-derived" object? Per the question "What does the "most derived object" mean?" I think that (correct me if I am wrong), objects of type "most-derived" class only, like MostDerived, are called "most-derived" objects.

I stopped here, I really do not understand the rest of the wording. If a complete object, a member subobject, or an array element is of class type, its type is considered the most derived class An object of a most derived class type or of a non-class type is called a most derived object.įrom the quote what I understand is that a type of a complete object is of "most-derived" class type.

I can't understand the wording in this quote from the standard:
