Dobrý den,
v ukázkovém příkladě na komplexní čísla je chyba. V metodě
public static bool operator != (KomplexniCislo komplexni1, KomplexniCislo komplexni2)
{
return komplexni1.realnaCast != komplexni2.realnaCast
}
je chybně uvedená podmínka. Jelikož negace konjunkce je disjunkce negací, výraz !(A && B) = (!A) || (!B), nikoliv (!A)&&(!B) (demonstrace například tabulkou, která rozebere jednotlivé případy). Program například porovná, že čísla 2+i = 2+2i se rovnají (!= vrátí false), což zjevně není pravda.