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

Перегрузка оператора вывода - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Описать функцию, определяющую сумму элементов массива http://www.cyberforum.ru/cpp-beginners/thread796194.html
Описать функцию, определяющую сумму элементов массива
C++ Массивы. Вывести на экран объемы каждой фигуры Размеры 12 параллелепипедов (длина, ширина, высота) хранятся в трех массивах. Вывести на экран объемы каждой фигуры. http://www.cyberforum.ru/cpp-beginners/thread796193.html
C++ Запуск программы через консоль
Программа архиватор не запускается через консоль, не могу разобраться /* lzw.c based on Mark R. Nelson's demonstration program http://it-talk.org/ */ #include <stdio.h> #include <stdlib.h> #include <errno.h>
C++ and MSSQL C++
Господа куда глядеть в поисках , как работать с sql или лучше того с MSSQL с помощь С++. Киньте пожалуйста ссылку или название книги.
C++ Дана целочисленная матрица 7x7. Найти сумму элементов в заштрихованной области http://www.cyberforum.ru/cpp-beginners/thread796160.html
Дана целочисленная матрица 7x7. Найти сумму элементов в заштрихованной области. ******* ***** *** * *** **** ******* Заштрихованная область в виде песочных часов
C++ Разложение экспоненты в ряд тейлора. Цикл в цикле Здравствуйте. Сама задача: составить программу для вычисления множества значений функции exp x на интервале −40,1 с шагом 0.5 не использующую встроенную функцию,. Интервал и шаг считывать из текстового файла, результат вывести в текстовый файл состоящий из трех колонок: x , exp x , встроенный exp x . Для вычисления использовать разложение в ряд Тейлора, суммировать до тех пор пока... подробнее

Показать сообщение отдельно
ITcrusader
Эксперт C++
 Аватар для ITcrusader
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
27.02.2013, 14:02     Перегрузка оператора вывода
Ребят, привет!

Проблемная часть - operator <<
если комментировать его вызов в main - сборка осуществляется, иначе - нет.

Прилагаю код:

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
 
template < typename scalar = double >
class Point3D
{
public:
    Point3D( scalar x = 0, scalar y = 0, scalar z = 0 );
    friend std:: ostream& operator << ( std:: ostream& stream, const Point3D& point );
 
private:
    scalar x_, y_, z_;
};
 
template < class scalar >
Point3D < scalar >:: Point3D( scalar x, scalar y, scalar z )
    : x_( x ), y_( y ), z_( z )
{
 
}
 
template < class scalar >
std:: ostream& operator << ( std:: ostream& stream, const Point3D < scalar >& point )
{   using namespace Point3D < scalar >;
    stream << x_ << y_ << z_;
    return stream;
}
 
int main()
try
{
    using namespace std;
 
    Point3D < double > point;   
 
    cout << point;  // если комментировано - собирается
 
    return 0;
}
catch( ... )
{
 
}
ошибка следующая:
error LNK2019: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class Point3D<double> const &)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@ABV?$Point3D@N@@@Z) referenced in function _main

Что-то я сам пока не наковырял, в чем дело.
Буду благодарен за помощь
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru