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

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

Войти
Регистрация
Восстановить пароль
 
maxon887
12 / 12 / 3
Регистрация: 05.06.2012
Сообщений: 280
#1

Шаблонн класса - C++

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

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 - тот же
- работает
В чём ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2012, 14:58     Шаблонн класса
Посмотрите здесь:

Перегрузка оператора >> для дочернего класса от базового виртуального класса - C++
Доброго вам времени суток! Программирую на С++ не давно, в связи с отсутствием должного времени на поиск ответа в глубинах учебников,...

Правда, что указатель класса-наследника не может указывать на объект класса-родителя? - C++
Доброго времени суток! Пример кода ниже. Правда ли , что указатель класса-наследника не может указывать на объект класса-родителя? ...

Разное значение переменной класса, в разных экземплярах класса - C++
Вот примерный код: class Test { private: static int countC; static int countD; void initWeight(){ double a; ...

Индексация массива класса, через объект этого класса - C++
class A{ char c;//? - размер массива public: A(int C){c;} }; int main(){ A a(5);//вносим размер массива getch(); ...

Обращение в методах класса к полям класса - C++
Добрый вечер! Подскажите пожалуйста правильное обращение в методах класса к полям класса. class X {char name ; double zar; ...

Получить константу из экземпляра класса, который является членом другого класса - PHP
class test { const STATUS = 1; } $a = new test(); echo $a::STATUS . PHP_EOL; // работает class bar {

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1482 / 1058 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
09.09.2012, 15:01     Шаблонн класса #2
что-то очень много людей, кто шаблоны пишет сталкиваются с этим. неужели в книгах не пишут, что реализация шаблонов не должна выносится в cpp файлы, все (декларация и имплементация) должно быть в одном h файле.
maxon887
12 / 12 / 3
Регистрация: 05.06.2012
Сообщений: 280
09.09.2012, 15:04  [ТС]     Шаблонн класса #3
не а, не пишут(((
а зачем так сделано?
DU
1482 / 1058 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
09.09.2012, 15:06     Шаблонн класса #4
из-за их особенностей, механизма инстанцирования и прочее. за деталями лучше в какую-нибудь продвинутую литературу заглянуть. если пока не до этого, то придется запомнить как данное и смириться с этим
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2012, 15:10     Шаблонн класса
Еще ссылки по теме:

Создание класса Polyline(многоугольник) на основе класса Line - C#
Есть класс class Poin { protected int Xpos; protected int Ypos; public Poin(int x, int y) {...

Вызов переопределенного метода класса наследника из базового класса - C#
Предположим есть два класа: public class A { /* ... некая дополнительная реализация.... */ ...

Какая разница между объектом класса и инстансом класса? - Python
Читал (на русском языке) и не понял. Добавлено через 6 минут В смысле документацию читал.


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

Или воспользуйтесь поиском по форуму:
maxon887
12 / 12 / 3
Регистрация: 05.06.2012
Сообщений: 280
09.09.2012, 15:10  [ТС]     Шаблонн класса #5
ну впринципе понятно
Yandex
Объявления
09.09.2012, 15:10     Шаблонн класса
Ответ Создать тему
Опции темы

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