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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
serginhold
2 / 2 / 0
Регистрация: 20.10.2011
Сообщений: 15
#1

Объявление класса с шаблоном - C++

20.10.2011, 20:00. Просмотров 515. Ответов 2
Метки нет (Все метки)

Пишу в Qt.

Создал класс с шаблоном
matrix.h
Код
#ifndef MATRIX_H
#define MATRIX_H

template <class T>
class Matrix
{
public:
   Matrix();
};

#endif // MATRIX_H
matrix.cpp
Код
#include "matrix.h"

template <class T>
Matrix<T>::Matrix()
{
}
В программе пытаюсь объявить вот так:
Код
#include <QtCore>
#include <iostream>
#include "matrix.h"

using namespace std;

int main(int argc, char *argv[])
{
    QCoreApplication consoleApplication(argc, argv);

    Matrix<int> matr; // попытка объявления

    return consoleApplication.exec();
}
Не работает, помогите пожалуйста понять почему
Выводит такие ошибки:
Код
ошибка: undefined reference to `Matrix<int>::Matrix()'

:-1: ошибка: collect2: ld returned 1 exit status
Добавлено через 1 час 3 минуты
всем спасибо, как всегда в нужный момент не на одном сайте не помогут, гуг примерно по 30-й ссылке объяснил, что надо создавать только заголовочный файл и пихать все в него, cpp-файл не нужен, получается все это выглядит примерно так:
Код
#ifndef MATRIX_H
#define MATRIX_H

template <class T>
class Matrix
{
public:
   Matrix();
   T a;
};





/* Реализация: */

template <class T>
Matrix<T>::Matrix()
{
}

#endif // MATRIX_H
Тему можно закрывать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2011, 20:00     Объявление класса с шаблоном
Посмотрите здесь:

Работа с шаблоном класса - C++
Приветствую. Есть задание: 1. Создать шаблон заданного класса. Определить конструкторы, деструктор, перегруженную операцию присваивания...

Проблемы с шаблоном класса - C++
Здравствуйте, помогите пожалуйста понять в чем ошибка, пытаюсь написать шаблон класса векторов, но получаю следующее: 1&gt;main.obj :...

Маленький косяк с шаблоном класса - C++
Задание: Разработать шаблонный класс для работы с очередью. Должны быть реализованы операции включения и выборки значений из очереди....

Работа с шаблоном класса Vector - C++
Я недавно начала интересоваться программированием на С++, но для меня это достаточно сложно. Вот написала прогу, в которой надо создать...

В чем разница между классом и шаблоном класса? - C++
Помогите ответить. В чем разница между классом и шаблоном класса?

Зачем пишется имя класса перед шаблоном? - C++
#include &lt;iostream&gt; template &lt;typename T&gt; class Grid { public: Grid(int mWidth = kDefaultWidth, int mHeight =...

Объявление класса Point - C++
Объявил класс Point в заголовочном класса для хранения значений координат x,y а далее класс Rectanagle и вот в классе Rectanagle каждая...

Объявление объектов класса - C++
Как инициализировать объекты класса вне функции main, но и не в глобальной области? Объявленные объекты занимают много пространства в...

Предварительное объявление класса - C++
Имеется код такого вида: class IBase { public: virtual foo() = NULL; .. .. .. };

Двойное объявление класса - C++
Для чего два раза писать class Animal? class Animal; void setValue (Animal&amp;, int); class Animal { public: Animal(); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
20.10.2011, 20:05     Объявление класса с шаблоном #2
странно что за час вам никто не помог. тема довольно истоптанная что шаблоны не хотят связываться с cpp-шниками.
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
20.10.2011, 20:07     Объявление класса с шаблоном #3
http://www.cyberforum.ru/cpp/thread350097.html
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru