Форум программистов, компьютерный форум CyberForum.ru

Перегрузка operator<< для шаблонного класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Матрица, поиск наименьешего в строках http://www.cyberforum.ru/cpp-beginners/thread407005.html
Здравствуйте! Проблема ( Задача: Дана матрица nxm, определить наименьшие числа в строках. Вот мой код: #include <iostream> using namespace std; int main() { int i,j,n,m,min,a; for(i = 0; i < n; i++)
C++ ошибка при выводе в последовательности sn на с++ sn- это подсчет суммы ряда не могу понять почему одинаково значение при выполнении программы до 5 считает нормально, а затем зеркально отражает #include <iostream> #include <iomanip> #include <math.h> #include <stdio.h> using namespace std; double f(double x) { http://www.cyberforum.ru/cpp-beginners/thread406991.html
C++ где может быть ошибка на с++
при подсчете sn через 5 членов цикл повторяется вот текст программы #include <iostream> #include <iomanip> #include <math.h> #include <stdio.h> using namespace std; double f(double x) {
C++ Задачи с двумерными массивами
Необходимо использовать stdio.h Задача №1 Сформировать одномерный массив X из сумм положительных элементов строк заданной матрицы, попутно определяя номера строк матрицы, в которых отсутствуют положительные элементы. Задача №2 Дано: прямоугольная целочисленная матрица A. Определить номера строк: а) все элементы которых - нули;
C++ сумма чисел http://www.cyberforum.ru/cpp-beginners/thread406933.html
дано N натуральных чисел ,нужно поставить знак между числами "+" или "-" так ,чтобы последовательность была равна числу S .если же это не возможно выводить "NO" . пример 3 10 15 25 30 => 15 + 25 - 30 = 10 2 100 10 10 => NO
C++ Как сделать так, чтобы программа не компилилась, хотя синтаксически была бы правильной? Друзья! Дело в следующем, вот у меня есть функции X и Y. И вот мне не хотелось бы вызывать X прежде, чем будет вызвана Y. Но это всё в пользовательском классе реализовано, которым возможно будут пользоваться другие люди вот они по запарке могут ошибиться и сперва вызвать Y, а потом X. Да и я могу также сделать. Короче как сделать защиту от дураков такого рода? Спасибо, кто откликнется. подробнее

Показать сообщение отдельно
Bers
Заблокирован
14.12.2011, 12:57     Перегрузка operator<< для шаблонного класса
Цитата Сообщение от Sambady Посмотреть сообщение
Bers, так почемуто компилятор ругается на undefined reference
компилятор gcc
Все! Понял почему)))

Видимо вижал студия просто более раздолбайно относится к стандарту в этом моменте.

Фишка вот в чем:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
template <class T>
class List
{
public:
    //List();
    //virtual ~List();
 
 
    //компилятор gcc ругается на то, что он не знает ни о каких
    // таких шаблонах. Он думает, что тут объявляется 
    //фредозный прототип с указанием формального параметра шаблона
    //при том, что он не понимает, что прототип - шаблонный
    //На что и ругается.
    friend ostream& operator<< <T>(ostream& os,List<T>& obj);
 
    T elem;
};
 
template <class T>
ostream& operator<< (ostream& os,List<T>& obj)
{
    os << obj.elem;
    return os;
}

Лечется вот так: http://liveworkspace.org/code/b45316...21e9b84b239b20
 
Текущее время: 07:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru