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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разработка программы, позволяющей создавать и редактировать электронные таблицы. Должна быть возможность выбора цвета содержимого ячейки и самой ячейк http://www.cyberforum.ru/cpp-beginners/thread762638.html
Разработка программы, позволяющей создавать и редактировать электронные таблицы. Должна быть возможность выбора цвета содержимого ячейки и самой ячейки. Должен быть разработан формат хранения данных таблицы и ее формирования в файле. ОС линукс. Помогите разработать.
C++ Обход в глубину графа Здравствуйте, помогите разобраться в чём ошибка, обход графа к глубину, ошибок не вадаётся но и результат тоже не выводится //ОБХОД ГРАФА В ГЛУБИНУ #include "stdafx.h" #include "iostream" #include "conio.h" #include "fstream" http://www.cyberforum.ru/cpp-beginners/thread762613.html
C++ Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности отрицательных чисел
Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности отрицательных чисел (длина последовательности не ограничена). Нашел на форуме такой вот код, только с положительными числами, что нужно исправить для того чтобы было для отрицательных? #include <iostream> int main() { double max = 0.0; while(std::cin) // Ввод пока не...
C++ В текстовом файле выровнять все строки до одинаковой длины, вставляя пробелы между словами
В текстовом файле выровнять все строки до одинаковой длины, вставляя пробелы между словами.
C++ В матрице выполнить действия в строках с отрицательными элементами на главной диагонали http://www.cyberforum.ru/cpp-beginners/thread762562.html
Дана матрица действительных чисел. В строках с отрицательными элементами на главной диагонали найти: а) суммы всех элементов; б) наибольшие из элементов; в) наименьшие из элементов.
C++ Удалить строку с номером k mt**matr Удалить строку с номером k Если можно как-нибудь попроще) подробнее

Показать сообщение отдельно
BREAK350
1 / 1 / 0
Регистрация: 08.07.2012
Сообщений: 23

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

15.01.2013, 18:38. Просмотров 273. Ответов 3
Метки (Все метки)

//файл T_Point_template.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//---------------------------------------------------------------------------
#ifndef T_Point_templateH
#define T_Point_templateH
#include <vcl.h>
#include <math.h>
#include <stdio.h>
//---------------------------------------------------------------------------
template <class Type>
class T_Point
{
    protected:
        Type x,y;
    public:
        T_Point();
        T_Point(Type,Type);
        T_Point(TPoint);
        T_Point(const T_Point &);
        ~T_Point(){}
        bool operator == (T_Point);
        bool operator !=(T_Point);
        operator TPoint();
        T_Point& operator = (const T_Point &);
        T_Point Symetry(T_Point);
        char* toChar(int);
        float Distance(T_Point);
        Type GetX(){return x;}
        Type GetY(){return y;}
        void Draw(TCanvas *,const TColor &);
        void Init(Type,Type);
        void SetX(Type _x){x=_x;}
        void SetY(Type _y){y=_y;}
};
//---------------------------------------------------------------------------
typedef T_Point < float > fT_Point;
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#endif

//T_Point_template.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma hdrstop
#include "T_Point_template.h"
#pragma package(smart_init)
template <class Type>
T_Point< Type >::T_Point(Type _x,Type _y)
{
    x=_x;
    y=_y;
}
//---------------------------------------------------------------------------
template <class Type>
T_Point< Type >::T_Point()
{
    x=y=0;
}
//---------------------------------------------------------------------------
//Unit1.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//---------------------------------------------------------------------------
 
#pragma hdrstop
 
//---------------------------------------------------------------------------
#include "T_Point_template.h"
#pragma argsused
int main(int argc, char* argv[])
{
    fT_Point t1(5,7);
    T_Point <int> t2;
    return 0;
}
//---------------------------------------------------------------------------
почему выдает ошибку:
[Linker Error] Unresolved external 'T_Point<float>::T_Point<float>(float, float)' referenced from D:\РОЗВАГИ\ПРОГРАМИ С++\МОЯ БІБЛІОТЕКА\T_POINT\НОВАЯ ПАПКА\UNIT1.OBJ
[Linker Error] Unresolved external 'T_Point<int>::T_Point<int>()' referenced from D:\РОЗВАГИ\ПРОГРАМИ С++\МОЯ БІБЛІОТЕКА\T_POINT\НОВАЯ ПАПКА\UNIT1.OBJ
помогите, пожалуста

Добавлено через 5 минут
если нужно, вот полный файл T_Point_template.cpp:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
//---------------------------------------------------------------------------
#pragma hdrstop
#include "T_Point_template.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
template <class Type>
float T_Point< Type >::Distance(T_Point p)
{
    return sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
}
//---------------------------------------------------------------------------
template <class Type>
T_Point< Type >::T_Point(Type _x,Type _y)
{
    x=_x;
    y=_y;
}
//---------------------------------------------------------------------------
template <class Type>
T_Point< Type >::T_Point(TPoint p)
{
    x=p.x;
    y=p.y;
}
//---------------------------------------------------------------------------
template <class Type>
T_Point< Type >::T_Point(const T_Point &p)
{
    x=p.x;
    y=p.y;
}
//---------------------------------------------------------------------------
template <class Type>
T_Point< Type >::operator TPoint()
{
    return TPoint(x,y);
}
//---------------------------------------------------------------------------
template <class Type>
T_Point< Type >& T_Point< Type >::operator = (const T_Point &p)
{
    x=p.x;                             
    y=p.y;
    return *this;
}
//---------------------------------------------------------------------------
template <class Type>
bool T_Point< Type >::operator == (T_Point p)
{
    return (x==p.x && y==p.y);
}
//---------------------------------------------------------------------------
template <class Type>
bool T_Point< Type >::operator != (T_Point p)
{
    return !(*this==p);
}
//---------------------------------------------------------------------------
template <class Type>
void T_Point< Type >::Init(Type _x,Type _y)
{
    x=_x;
    y=_y;
}
//---------------------------------------------------------------------------
template <class Type>
T_Point< Type >::T_Point()
{
    x=y=0;
}
//---------------------------------------------------------------------------
template <class Type>
char* T_Point< Type >::toChar(int n)
{
    if(n<0)
    {
        return NULL;
    }
    char buf[32];
    sprintf(buf,"(%1.2f;%1.2f)",x,y);
    return strdup(buf);
}
//---------------------------------------------------------------------------
template <class Type>
void T_Point< Type >::Draw(TCanvas *Canvas,const TColor &cl)
{
    Canvas->Pixels[x][y]=cl;
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru