Возвращение объекта второго класса через конструктор первого класса - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть класс узла и класс дерева.Я определил класс узла, который будет содержать свойства, необходимые для объявления узла, а класс дерева используется для формирования древовидной структуры из узлов.Хотя древовидная структура сформирована из узла, у меня возникла проблема с возвратом объекта узла.Моя структура кода:

classdef Node
properties 
    node_center;
    node_size;
end
methods
   function this = Node(center,size)
       this.node_center = center;
       this.node_size = size;
   end
end
end % end of class Node
classdef Tree < handle
methods
   function n = Tree(points,objects_in_tree)
      n = Node(center_of_points,size);
      n = insert_child(n,center,sizez);
   end
end

Теперь я получаю сообщение об ошибке: при создании экземпляра класса Tree конструктор должен сохранить класс возвращаемого объекта.Я знаю причину, по которой это происходит, но хотел бы знать, как это обойти.Спасибо.

1 Ответ

0 голосов
/ 28 февраля 2012

Возвращаемое значение из конструктора должно быть объектом, созданным - нет никакого способа обойти это.Вы можете создать другую функцию, которая возвращает другие значения (например, Node), которые вы хотели бы получить из него.После того как дерево построено, вызовите функцию доступа для этого объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...