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

Реализация шаблонов класса в инлайн файле - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Реализация шаблонов класса в инлайн файле http://www.cyberforum.ru/cpp-beginners/thread1226579.html
Пытался написать шаблонны MyClass.h #pragma once #define MYCLASS template <typename T> class MyClass { public:
C++ Определить номер строки квадратной матрицы , сумма элементов которой минимальна Помогите написать программу , которая определяет номер строки квадратной матрицы , сумма элементов которой минимальна, с использованием двумерного массива. http://www.cyberforum.ru/cpp-beginners/thread1226572.html
Есть ли в С++ динамические массивы? C++
Я сначала подобный вопрос задал поисковой системе. Ответ меня обескуражил. Ответы примерно такие: 1. Нет и не было. 2. Кажется есть оператор New 3. Есть динамическая память 4. Что-то есть, а вам зачем? Мне все-таки хочется узнать, а лучше Небольшой конкретный пример, что есть?? И как это использовать?? Что надо подключить??
Как прочитать последовательно все текстовые файлы лежащие в папке, не зная заранее их имен? C++
Подскажите плз, как прочитать последовательно все текстовые файлы лежащие в папке, не зная заранее их имен:?
C++ Из каждого элемента массива, начиная со второго, вычесть все остальные элементы http://www.cyberforum.ru/cpp-beginners/thread1226526.html
Дан массив, из каждого элемента, начиная со второго, нужно вычесть все остальные элементы. вот пример: 1 2 3 4 5 (2 - 3 - 4 - 5 - 1), (3 - 4 - 5 - 1 -2), (4 - 5 - 1- 2 - 3), (5 -1 -2 -3 -4) в результате получим: -11 -9 -7 -5 думаю, моя задумка понятна.
C++ Найти максимальный элемент этого массива и отсортировать его вправо и влево в порядке убывания элементов Дано: линейный массив из 17-ти целых чисел, числа заданы рандомно и сам массив вынесен на экран Требуется найти максимальный элемент этого массива и отсортировать его вправо и влево в порядке убывания элементов. Мне кажется, что эта программа работает. (P.S. написать было проще, чем отладить программу, все время "вылезал из массива" - теперь я с него не слезу) #include <cstdio>... подробнее

Показать сообщение отдельно
orange_fox
 Аватар для orange_fox
34 / 34 / 6
Регистрация: 06.04.2014
Сообщений: 189
12.07.2014, 23:41     Реализация шаблонов класса в инлайн файле
Пытался написать шаблонный класс, реализуя как обычно объявление класса в h файле и определение элемент-функций в с++. Компилятор постоянно плевался в меня ошибкой линковщика, а я всё никак не мог понять в чём дело. Много гуглил, пока не наткнулся на это сообщение:
Цитата Сообщение от DU Посмотреть сообщение
100500 раз в 100500 местах написано, что шаблоны надо реализовывать не в сpp файлах, а в h файлах или в инлайн файлах. в конце вашего Vector.h напишите #include "Vector.cpp" - это как реализация в инлайн файлах. только не забыть в этом случае из Vector.cpp удалить строку #include "Vector.h"
Сделал, как писал человек выше, но компилятор(msvs2013) ругался на то, что не видит MyClass. Поэтому сделал чуть по другому и всё заработало. Есть ли способ попроще?

MyClass.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
#pragma once
#define MYCLASS
template <typename T>
class MyClass
{
public:
    MyClass(const T&);
private:
    T data;
};
 
#include "MyClass.cpp"
MyClass.cpp
C++
1
2
3
4
5
6
7
#ifdef MYCLASS
template <typename T>
MyClass<T>::MyClass(const T& value)
{
    data = value;
}
#endif
main.cpp
C++
1
2
3
4
5
6
#include "MyClass.h"
int main()
{
    MyClass<int> A(34);
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru