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

Как можно переопределить <обобщенный аргумент> в обобщенном классе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Что означают данные http://www.cyberforum.ru/cpp-beginners/thread645180.html
Здравствуйте. подскажите что могут означать данные следующего характера? DWORD poffsets::dw_m_lifestats() {...
C++ Метрики Холстеда Добрый вечер! В качестве индивидуального задания студент произвольно выбирает программу, ко-торую он разработал и отладил (необходимо представить распечатанный листинг) при изучении предыдущих дисциплин цикла «Программное обеспечение» («Программирова-ние», «Системное программирование» и др.). Требуется для представленного программно-го модуля с использованием соотношений определить значения... http://www.cyberforum.ru/cpp-beginners/thread645120.html
C++ Зачем нужен спецификатор private?
Зачем нужен спецификатор private?Если по умолчанию все члены класса являются частными? Class queue { int q; int sloc, rloc; public: void init (); void qput(int i); int qget(); private: ...
C++ Быстрая сортировка
Друзья, здравствуйте! Как работает быстрая сортировка - у меня практически вопросов нет: #include <iostream> #include <stdlib.h> #include <time.h> using namespace std; const int n=10; template <class T> void QuickSort (T Ar, long N) {
C++ Какая IDE лучше ? http://www.cyberforum.ru/cpp-beginners/thread645081.html
Что выбрать: Borland C++ Builder или Visual Studio ?
C++ Библиотека STL, + задача с её использованием Доброго времени суток, о существовании библиотеки шаблонов я узнал 2 недели назад. У меня есть задача: Использовать ООП: Написать программу, которая разгадывает японский кроссворд под названием "Судоку". Пользователь вводит начальные значения уже существующие в кроссворде, который необходимо разгадать, и программа выдает на экран готовый результат. Но это глобальная задача, вопрос проще... подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
01.09.2012, 13:29     Как можно переопределить <обобщенный аргумент> в обобщенном классе
Я уже понял, я не понял, что это про инклюд, а не про какую-то хитродинамику :)

Не знаю, как у вас, но у меня линкер вполне себе ругается на
вот это
foo.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef FOO
#define FOO
 
template <class A>
class Foo {
  A value;
public:
  Foo();
  Foo(const A &val);
  A get() const;
};
 
#endif
foo.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "foo.h"
 
template <class A>
Foo<A>::Foo() {}
 
template <class A>
Foo<A>::Foo(const A &val) : value(val) {}
 
template <class A>
A Foo<A>::get() const
{
  return value;
}
main.cpp
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
#include "foo.h"
 
int main()
{
  Foo<int> x(10);
  std::cout << x.get();
}
вот так
Код
c:\Tmp\d>g++ main.cpp foo.cpp
C:\Users\---------\AppData\Local\Temp\cckjhS0M.o:main.cpp:(.text+0x26): undefined
 reference to `Foo<int>::Foo(int const&)'
C:\Users\---------\AppData\Local\Temp\cckjhS0M.o:main.cpp:(.text+0x32): undefined
 reference to `Foo<int>::get() const'
collect2: ld returned 1 exit status
. Что я делаю не так?
 
Текущее время: 13:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru