huh?
I'm afraid I do not write a lot of C++ code these days - and haven't for years

so am unsure what:
MyClass : DoSomething :: MyParentClass {...}
declaration means....
if you are equating it to simple inheritence:
TMyClass = class(TMyParentClass)
...
then I don't see why you are creating the parent class for in the constructor.
If you are simply wanting the child class to inherit some of the parents functions, then you are going about it the wrong way.
e.g.
TRectangle = class(TObject)
protected
FTop: integer;
FLeft: integer;
FWidth: integer;
FHeight: integer;
procedure Draw();
procedure SetHeight(AHeight: integer); virtual;
procedure SetWidth(AWidth: integer); virtual;
public
constructor Create();
procedure Move(x,y: integer);
property Height: integer read FHeight write SetHeight;
property Width: integer read FWidth write SetWidth;
end;
TSquare = class(TRectangle)
protected
procedure SetHeight(AHeight: integer); override;
procedure SetWidth(AWidth: integer); override;
end;
if I create a TSquare class, I can still call the move method as it is inherited.
var
Square: TSquare;
begin
Square := TSquare.Create();
Square.Height := 10;
Square.Move(1,1);
end;
In the TSquare constructor:
procedure TSquare.Create();
begin
inherited;
FLeft := 0;
FTop := 0;
FWidth := 0;
FHeight := 0;
end;
You don't need to create a TRectangle within the TSquare's constructor in order to call the Move method.
Hope that helps...if not, can you clarify your question.
Cheers.