Задача: Создание класса-прототипа С#

  • Автор темы Ryokko
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

Ryokko

#1
Помогите пожалуйста! У меня был мой класс для работы с комплексными числами, теперь его надо переделать под класс прототип(чтобы указывался тип переменной в <>). Вроде бы везде поменял переменную но при операции сложения выводит "Оператор "+" не может применяться к операндам типа "T" и "T"
Вот код(написан на C# но я вставил тегов для С++, другого не нашел):
C++:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Collections;

namespace ConsoleApplication21
{
public class Complex<T>
{
public T a, b;

public Complex(T m, T n)
{
a = m;
b = n;
}
public Complex<T> Plus(Complex<T> m)
{
T u, v;
u = a +m.a;
v = b + m.b;
return (new Complex<T>(u, v));
}
public static Complex<T> operator +(Complex<T> c1, Complex<T> c2)
{
return (c1.Plus(c2));
}

public void PrintComplex(string name)
{
Console.WriteLine("{0} = {1}+({2}i)", name, a, b);
}

}
class Program
{
static void Main()
{
Complex<int> c1 = new Complex<int>(5, 2);
Complex<int> c2 = new Complex<int>(3, 4);
Complex<int> c3;
c3 = c1 + c2;
c3.PrintComplex("c3");
c2.PrintComplex("c2");
c1.PrintComplex("c1");
Console.ReadLine();
}
}
}
 
Статус
Закрыто для дальнейших ответов.