12 / 12 / 7
Регистрация: 05.06.2012
Сообщений: 280
1

Шаблонн класса

09.09.2012, 14:58. Показов 405. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Array.h
C++
1
2
3
4
5
6
7
8
9
10
11
#ifndef ARRAY_H
#define ARRAY_H
template<class type>
class Array
{
public:
    Array();
    void func();
protected:
    int size;
};
Array.cpp
C++
1
2
3
4
5
6
#include "Array.h"
template<class type>
Array<type>::Array()
{
 
}
main.cpp
C++
1
2
3
4
5
6
7
8
#include <QtCore/QCoreApplication>
#include "Array.h"
int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);
    Array<int> a;
    return app.exec();
}
не работает
пишет E:\Qt\array\main.cpp:6: error: undefined reference to `Array<int>::Array()'
Array.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef ARRAY_H
#define ARRAY_H
template<class type>
class Array
{
public:
    Array();
    void func();
protected:
    int size;
};
template<class type>
Array<type>::Array()
{
 
}
 
#endif // ARRAY_H
Array.cpp - нету
main.cpp - тот же
- работает
В чём ошибка?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.09.2012, 14:58
Ответы с готовыми решениями:

Инициализация шаблонного класса(В конструкторе класса после двоеточия вновь имя класса)
Всем доброго времени суток! Пытаюсь разобраться как работает приведенный мной код. Конкретно,...

Как связать сигнал одного класса со слотом другого класса, содержащего указатель на объект этого класса?
Подскажите, пожалуйста, как связать сигнал одного класса со слотом другого класса, содержащего...

В учебном заведении три компьютерных класса. Ввести площадь каждого класса и количество компьютеров в нем. Для каждого класса вывести сообщение наруше
В учебном заведении три компьютерных класса. Ввести площадь каждого класса и количество компьютеров...

Создать экземпляр метода класса или доступ к методу из экземпляра класса
Всем доброго времени суток!) Уже месяца как 2 не сишарпил и подзабыл...собственно задача такая:...

4
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
09.09.2012, 15:01 2
что-то очень много людей, кто шаблоны пишет сталкиваются с этим. неужели в книгах не пишут, что реализация шаблонов не должна выносится в cpp файлы, все (декларация и имплементация) должно быть в одном h файле.
1
12 / 12 / 7
Регистрация: 05.06.2012
Сообщений: 280
09.09.2012, 15:04  [ТС] 3
не а, не пишут(((
а зачем так сделано?
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
09.09.2012, 15:06 4
из-за их особенностей, механизма инстанцирования и прочее. за деталями лучше в какую-нибудь продвинутую литературу заглянуть. если пока не до этого, то придется запомнить как данное и смириться с этим
1
12 / 12 / 7
Регистрация: 05.06.2012
Сообщений: 280
09.09.2012, 15:10  [ТС] 5
ну впринципе понятно
0
09.09.2012, 15:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.09.2012, 15:10
Помогаю со студенческими работами здесь

Создать объект класса, зная имя класса, а параметры получать из формы
У меня есть форма, на которой есть Combobox, в котором можно выбрать класс. При выборе одно из...

Можно ли сделать поле класса параметром функции-члена этого же класса?
Здраствуйте. ref class MyClass { private: int i, j; array&lt;array&lt;int&gt;^&gt;^ X1; ...

Как сложить объект базового класса с объектом производного(наследуемого класса)
Как умножить объект базового класса с объектом производного(наследуемого класса): ozenka - объект...

Шаблон класса, параметром которого должны являться наследники определённого класса
Сразу извиняюсь за нубский вопрос. Суть в том, что я хочу сделать шаблон класса, параметром...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru