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

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

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

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

20.10.2011, 20:00. Просмотров 528. Ответов 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
Тему можно закрывать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2011, 20:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объявление класса с шаблоном (C++):

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

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

Объявление объекта класса fstream в качестве статической компоненты другого класса - C++
Доброго времени суток. Есть задание, в котором говорится &quot;...Перепишите программы из упражнений 4 и 6 таким образом, чтобы использовать...

Создать объявление класса и разработать программу-драйвер, которая продемонстрирует работу класса. - C++
Класс Triangle (треугольник). Класс хранит Декартовы координаты трех углов треугольника. Конструктор принимает три группы координат. Должны...

Объявление объекта одного класса в описании другого класса - C++
Здравствуйте. Почему при объявлении Student s в классе Teacher не возникает ошибки? Ведь такой объект уже существует. И почему при...

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

2
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
20.10.2011, 20:05 #2
странно что за час вам никто не помог. тема довольно истоптанная что шаблоны не хотят связываться с cpp-шниками.
0
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
20.10.2011, 20:07 #3
http://www.cyberforum.ru/cpp/thread350097.html
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2011, 20:07
Привет! Вот еще темы с ответами:

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

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

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

Объявление дружественного класса внутри класса - C++
class A{ friend class B{ B(A &amp;a); } } Подскажите пожалуйста, такое возможно или нет, я хотел чтобы...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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