Let us explore in detail the implications of each of these. The language C++ uses the minimum static space allocation approach. If you declare a variable of type Window, then only enough space for a Window object is set aside on the stack. This is very efficient, but it leads to some subtle difficulties. What happens, then, when we try to assign a value from a child class?