Нужно разобраться с фрагментом кода - C#
Формулировка задачи:
using System;
// Дополнительный класс и его методы для контроля передачи объектов методам
class OTM {
int x; double y; decimal z;
public OTM (int i, double j, decimal k){ // Конструктор
x = i;
y = j;
z = k;
}
public bool Confirm( OTM ob) { //ob - объект, выполняется проверка ob.x==x и др.
if((ob.x == x)&(ob.y == y)&(ob.z == z)) return true;
else return false;
}
public void CopyOTM(OTM ob) { // Создается копия объекта
x = ob.x;
y = ob.y;
z = ob.z;
}
public void show() {
Console.WriteLine("x: {0}, y: {1}, z: {2:C}", x, y, z);
}
}
// Transmitob - класс метода Main() - выделение памяти и передачи объектов
class TransmitOb {
public static void Main() {
OTM ob1 = new OTM(10, 20.2222, 33.33m);
OTM ob2 = new OTM(40, 50.5555, 6677889.6677889m);
Console.Write("\n ob1: "); ob1.show();
Console.Write(" ob2: "); ob2.show();
if(ob1.Confirm(ob2))Console.WriteLine(" ob1 = ob2 ");
else Console.WriteLine(" ob1 != ob2 \n ");
Console.WriteLine(" ob2 копируется в ob1");
ob1.CopyOTM(ob2);
Console.Write(" ob1 после копирования: "); ob1.show();
if(ob1.Confirm(ob2))Console.WriteLine("\n ob1 = ob2");
else Console.WriteLine("\n ob1 != ob2");
Console.WriteLine("\n\n\n ");
}
}public bool Confirm( OTM ob) { //ob - объект, выполняется проверка ob.x==x и др.
if((ob.x == x)&(ob.y == y)&(ob.z == z)) return true;
else return false;
}
public void CopyOTM(OTM ob) { // Создается копия объекта
x = ob.x;
y = ob.y;
z = ob.z;
}(ob.x == x)
Решение задачи: «Нужно разобраться с фрагментом кода»
textual
Листинг программы
OTM ob1 = new OTM(10, 20.2222, 33.33m); // создадим объект
OTM ob2 = new OTM(40, 50.5555, 6677889.6677889m); // создадим второй
ob1.CopyOTM(ob2); // теперь поля ob1, равны полям ob2
if(ob1.Confirm(ob2) )
Console.WriteLine("Они действительно равны");
////////////////////////////////////////////////////////
public void CopyOTM(OTM ob) { // ob будет равен ob2
x = ob.x; // поле x объекта ob1 (ob1.CopyOTM(ob2)) станет равно полю x объекта ob2, который передан в параметре.
y = ob.y;// остальные также
z = ob.z;
}