There is provided a method for implementing virtual bases with fixed
offsets in a class hierarchy graph corresponding to an object oriented
program. The graph has nodes representing object classes and edges
representing immediate inheritance therebetween. The method includes the
step of determining whether a set N is empty, the set N including all
nodes in the graph. A node x is removed from the set N, when the set N is
not empty. It is determined whether a set Y is empty, the set Y including
nodes that directly and virtually inherit from the node x. A return is
made to the step of determining whether the set N is empty, when the set Y
is empty. A node y is removed from the set Y, when the set Y is not empty.
It is determined whether the node y is duplicated in the graph. A return
is made to the step of determining whether the set Y is empty, when the
node y is duplicated. An edge e is replaced with an edge e', when the node
y is not duplicated. The edge e represents that the node y virtually
inherits from the node x. The edge e' represents that the node x has a
fixed offset with respect to the node y. A return is made to the step of
determining whether the set N is empty, upon replacing the edge e.
Обеспечено методу для снабжать фактически основания с фикчированными смещениями в диаграмме иерархии типа соответствуя к программе ориентированной предметом. Диаграмма имеет узлы представить типы предмета и края представляя немедленно унаследование therebetween. Метод вклюает шаг обусловливать ли комплект н пуст, комплект н включая все узлы в диаграмме. Узел x извлекается от комплекта н, когда комплект н не пуст. Обусловлено ли комплект ы пуст, комплект ы включая узлы которые сразу и фактически унаследуйте от узла x. Сделано возвращение к шагу обусловливать ли комплект н пуст, когда комплект ы пуст. Узел ы извлекается от комплекта ы, когда комплект ы не пуст. Обусловлено дублирован ли узел ы в диаграмме. Сделано возвращение к шагу обусловливать ли комплект ы пуст, когда узел ы дублирован. Край е заменен с краем е ', когда узел ы не дублирован. Край е представляет что узел ы фактически наследует от узла x. Край е ' представляет что узел x имеет фикчированное смещение по отношению к узлу ы. Сделано возвращение к шагу обусловливать ли комплект н пуст, по заменять ть край е.