|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.09.2010, 10:26 | #1 |
Форумчанин
Регистрация: 29.10.2009
Сообщений: 259
|
Перегрузка операций для созданных шаблонов(C#)
Необходимо на языке C# реализовать класс "Комплексные числа". Разобрался с основной технологией по этому вопросу(как создать основу шаблона, как заполнить поля в шаблоне), но с перегрузкой операций в шаблоне ничего понять не могу.
Пишу код для перегрузки операции "+": Код:
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
|
28.09.2010, 10:33 | #2 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
Покажи полный код класса. Компилятор наверное не уверен в том что это числа. Ну т.е.
Нверное шаблон для комплекных чисел - это не очень хорошее рещение. Ну сделай типом вещественные числа и всё будет тип-топ Последний раз редактировалось Altera; 28.09.2010 в 10:36. |
28.09.2010, 10:44 | #3 | |
Форумчанин
Регистрация: 29.10.2009
Сообщений: 259
|
Цитата:
public class Complex_Digit< Digit_Type > { public Digit_Type Re; public Digit_Type Im; public void Push(Digit_Type aRe, Digit_Type aIm) { Re = aRe; Im = aIm; } public Complex_Digit<Digit_Type> Pop() { return this; } public static Complex_Digit<Digit_Type> operator+(Complex_Digit<Digit_Type> any1, Complex_Digit<Digit_Type> any2) { Complex_Digit<Digit_Type> tmp = new Complex_Digit<Digit_Type>(); tmp.Re = any1.Re + any2.Re; //компилятору не нравится эта строка и строка ниже tmp.Im = any1.Im + any2.Im; return tmp; } }
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
|
|
28.09.2010, 11:02 | #4 | |
Я
Форумчанин
Регистрация: 24.04.2010
Сообщений: 693
|
В вашем случае могло бы помочь ограничение наследования, но в случае арифметики в С# оно не предусмотрено.
Цитата:
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©. |
|
28.09.2010, 11:03 | #5 | |
Я
Форумчанин
Регистрация: 24.04.2010
Сообщений: 693
|
Далее
Цитата:
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перегрузка операций для класса дробей | Fataller | Общие вопросы C/C++ | 4 | 29.05.2010 18:08 |
перегрузка операций | nastya081108 | Помощь студентам | 0 | 18.05.2010 21:16 |
перегрузка операций в си++ | Serjuk | Общие вопросы C/C++ | 9 | 20.03.2010 21:30 |
С++ перегрузка операций для шаблонного класса | TIN | Помощь студентам | 7 | 29.03.2009 15:24 |