Показать сообщение отдельно
Старый 24.08.2010, 18:58
XDiaBLo вне форума Посмотреть профиль Отправить личное сообщение для XDiaBLo Найти все сообщения от XDiaBLo
  № 2  
Ответить с цитированием
XDiaBLo

Регистрация: Mar 2010
Сообщений: 51
Мне надо копию создать, чтобы её модифицировать независимо.

Добавлено через 3 часа 3 минуты
В общем поскольку описанное повсюду копирование не работает в данной ситуации, а ничего получше мне не подсказали, плюс вдобавок нельзя перегрузить конструктор, а я бы просто сделал копирующий конструктор, то сделал так:
Код AS3:
public function MemberType(initLength:int, clonedObject:MemberType = null) 
		{
			if (clonedObject == null)
			{
				maxLength = initLength;
				solutionType = new Vector.<int>(maxLength, true);
				var i:int;
				for (i = 0; i < maxLength; i++)
				{
					solutionType[i] = i;
				}
				for (i = 0; i < maxLength; i++)
				{
					tweakSolution();
				}
			}
			else
			{
				this.maxLength = clonedObject.getMaxLength();
				this.solutionType = clonedObject.getSolutionType();
			}
 
		}
Это хотя бы позволяет в обычной ситуации, работать как и было задумано, а в случае копирования, указать например var mt2:MemberType = new MemberType(0, mt); Первый параметр значения не имеет в данном случае. Туповато, но чтож сделать, ограничения языка.


Последний раз редактировалось XDiaBLo; 24.08.2010 в 19:58.