|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.11.2012, 14:24 | #1 |
Пользователь
Регистрация: 19.01.2012
Сообщений: 20
|
С++ использование шаблонов
Приветствую всех на форуме. Написал код с использованием шаблонов. Задание звучит так :
1. Реализовать класс комплексных чисел complex. Переопределить операции сложения, вычитания и ввод/вывод в поток. 2. Создать шаблон класса матриц. Переопределить операции сложения, вычитания, присваивания и ввод/вывод в поток. 3. Проверить работоспособность шаблона класса матриц для данных int, float, complex. Вот соответственно мой код. Код C++: Код:
Последний раз редактировалось Alex-Kunfuman; 14.11.2012 в 14:52. |
14.11.2012, 14:32 | #2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
0) Оформляйте код тегом форума CODE, пожалуйста.
1) Почему Вы считаете, что ошибка есть и в чём она выражается? |
14.11.2012, 14:42 | #3 |
Пользователь
Регистрация: 19.01.2012
Сообщений: 20
|
ошибка в перегрузке операторов потока ввода/вывода по-моему...сам не разберу, поэтому и спрашиваю. и там не одна ошибка вообщем-то.. помогите пожалуйста исправить код, как полагается, если не трудно. заранее благодарен!
Последний раз редактировалось Alex-Kunfuman; 14.11.2012 в 14:45. |
14.11.2012, 14:51 | #4 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
*вздох*
Есть два варианта: либо программа компилируется, либо не компилируется. - Если программа не компилируется, есть два варианта: либо ошибку выдаёт компилятор, либо компоновщик. - - Если ошибку выдаёт компилятор, у Вас есть текст ошибки; этот текст указывает также строку, которую компилятор соотносит с ошибкой. Было бы желательно привести первое и второе. - - Если ошибку выдаёт компоновщик, у Вас есть текст ошибки. Было бы желательно его привести. - Если программа компилируется, есть два варианта: она либо "падает", не выдавая никакого результата, либо порождает неверный результат. - - Если программа "падает", использование отладчика позволяет найти строку в исходном коде, соотносимую с точкой падения. Было бы желательно её привести. - - Если программа компилируется, компонуется, запускается, работает и порождает неверный результат, это происходит на некотором, известном Вам, наборе входных данных. Желательно привести этот набор, ожидаемый результат работы программы и реальный результат работы программы. Какой бы вариант из четырёх ни реализовывался, для ответа вам придётся написать сообщение заметно короче этого моего. |
14.11.2012, 15:08 | #5 |
Пользователь
Регистрация: 19.01.2012
Сообщений: 20
|
вот всё, что имеется:
=================== In instantiation of `Matrix<int>': 160 C:\Users\HP\Desktop\Lab_7(task2).cp p instantiated from here 71 C:\Users\HP\Desktop\Lab_7(task2).cp p template-id `operator>><>' for `std::basic_istream<char, std::char_traits<char> >& operator>>(std::basic_istream<char, std::char_traits<char> >&, Matrix<int>&)' does not match any template declaration 72 C:\Users\HP\Desktop\Lab_7(task2).cp p template-id `operator<< <>' for `std::basic_ostream<char, std::char_traits<char> >& operator<<(std::basic_ostream<char, std::char_traits<char> >&, const Matrix<int>&)' does not match any template declaration коммент: то же самое и для float и для Complex C:\Users\HP\Desktop\Lab_7(task2).cp p In function `int main()': 168 C:\Users\HP\Desktop\Lab_7(task2).cp p [Warning] passing `double' for converting 1 of `Matrix<T>::Matrix(int, int) [with T = float]' C:\Users\HP\Desktop\Lab_7(task2).cp p In function `std::istream& operator>>(std::istream&, Matrix<T>&) [with T = int]': 162 C:\Users\HP\Desktop\Lab_7(task2).cp p instantiated from here 66 C:\Users\HP\Desktop\Lab_7(task2).cp p `int Matrix<int>::string' is private 98 C:\Users\HP\Desktop\Lab_7(task2).cp p within this context 67 C:\Users\HP\Desktop\Lab_7(task2).cp p `int Matrix<int>::column' is private 65 C:\Users\HP\Desktop\Lab_7(task2).cp p `int**Matrix<int>::m' is private .... для ввода в поток тоже самое... вот и ошибки, программа не компилируется никак. Вы можете мне помочь исправить код? Последний раз редактировалось Alex-Kunfuman; 14.11.2012 в 15:11. |
14.11.2012, 15:21 | #6 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
Как мне подсказывает память, template и friend друг с другом в достаточно скверных отношениях. Такую конструкцию - Код:
Код:
Последний раз редактировалось Abstraction; 14.11.2012 в 16:04. |
|
14.11.2012, 15:28 | #7 |
Пользователь
Регистрация: 19.01.2012
Сообщений: 20
|
Нет не помогает, уже пробовал...несколько раз пробовал..меня уже переклинивает эта программа. я просто не вижу ошибки...сейчас компилирую на Dev-C++, на MS V2010 тоже пробовал, такая же ситуация...
|
14.11.2012, 15:47 | #8 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
А вообще, Вам необходимо организовывать вывод через оператор сдвига, или, может, всё же можно написать функцию-член?
|
14.11.2012, 15:55 | #9 |
Пользователь
Регистрация: 19.01.2012
Сообщений: 20
|
нет, нужно именно перегрузить оператор сдвига...и использовать его.
Последний раз редактировалось Alex-Kunfuman; 14.11.2012 в 16:00. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++ Использование функций-шаблонов. | killeraleksana | Помощь студентам | 0 | 10.05.2012 22:44 |
использование шаблонов | Diego__ | Общие вопросы C/C++ | 6 | 13.03.2012 01:08 |
Создание шаблонов | artemavd | Общие вопросы Delphi | 4 | 29.09.2010 17:21 |
Использование шаблонов | s180 | Microsoft Office Word | 5 | 10.12.2009 16:17 |