Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перегрузка cin >> 
:(
    Опции темы
Kellmir
Дата 12.5.2009, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.6.2008

Репутация: нет
Всего: 1



Пишу класс вектор на шаблонах, все уже реализовал кроме последней функции:

friend istream & operator >>(istream &in, TVector<ValType> &v); // <- так она описана в классе в Vector.h

// Её реализация в Vector.cpp:

template <class ValType>
istream & operator >>(istream &stream, TVector<ValType> &v) {
cout << "Размер вектора = " << v.GetSize() << endl;
for(int i=0; i<v.Size; i++) {
cout << "x[" << i << "] = ";
stream >> v.pVector[i];
}
return stream;
}

тестовая функция:

int main() {
TVector<int> A(10);
cin >> A;
cout << A;
_getch();
return 0;
}


выдает ошибку:

------ Build started: Project: proj1, Configuration: Debug Win32 ------
Compiling...
Vector.cpp
Generating Code...
Skipping... (no relevant changes detected)
Test.cpp
Linking...
Test.obj : error LNK2019: unresolved external symbol "class std::basic_istream<char,struct std::char_traits<char> > & __cdecl operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class TVector<int> &)" (??5@YAAAV?$basic_istream@DU?$char_traits@D@std@@@ std@@AAV01@AAV?$TVector@H@@@Z) referenced in function _main
C:\Documents and Settings\Admin\Мои документы\Visual Studio 2008\Projects\proj1\Debug\proj1.exe : fatal error LNK1120: 1 unresolved externals
Build log was saved at "file://c:\Documents and Settings\Admin\Мои документы\Visual Studio 2008\Projects\proj1\proj1\Debug\BuildLog.htm"
proj1 - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Не могу разобраться, что за ошибка в линковке. Есть какие-нибудь соображения?

PM MAIL   Вверх
artsb
Дата 12.5.2009, 09:35 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 4
Всего: 64



Kellmir, юзай кнопку код!
По теме: ты не все lib'ы подключил.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
zim22
Дата 12.5.2009, 09:51 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



TVector.h
Код

#ifndef TVECTOR_H
#define TVECTOR_H

#include <fstream>
#include <vector>

template <class ValType> 
class TVector;

template <class ValType>
std::istream &operator>>(std::istream&, TVector<ValType>&);

template <class ValType>
class TVector {
public:
  friend std::istream &operator>><ValType>(std::istream&, TVector<ValType>&);
  TVector(int size) : Size(size) { pVector.resize(size); }
  int GetSize() const { return Size; }
private:
  int Size;
  std::vector<ValType> pVector;
};

template <class ValType>
std::istream &operator>>(std::istream &stream, TVector<ValType> &v) {
  std::cout << "Размер вектора = " << v.GetSize() << std::endl;
  for(int i = 0; i < v.Size; i++) {
    std::cout << "x[" << i << "] = ";
    stream >> v.pVector[i];
  }
  return stream;
}

#endif // TVECTOR_H


main.cpp
Код

#include "TVector.h"
#include <iostream>

int main() {
  TVector<int> A(10);
  std::cin >> A;
 // std::cout << A;
return 0;
}



--------------------
PM MAIL   Вверх
Kellmir
Дата 12.5.2009, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.6.2008

Репутация: нет
Всего: 1



Класс теперь работает полностью smile

Спасибо за принятое участие в решении проблемы.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0663 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.