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

пространство имен для шаблонного класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Запросить текст из формы http://www.cyberforum.ru/cpp-beginners/thread552980.html
Я ввожу текст в форму в гугл хроме. вопрос, как запросить текст, который я ввел?
C++ Сортировка, реализованная потоками... Суть: Нужно написать программу, которая сортирует массив чисел( сам массив вводим вручную или генерируем рэндомно) , но это должно быть реализовано потоками. Я в них полный ноль. Потоков должно быть не меньше двух. Алгоритмы сортировок для реализации потоками может подойти Быстрая сортировка, сортировка вставками , сортировка подсчетом( если они все не подходят используйте свои). у меня... http://www.cyberforum.ru/cpp-beginners/thread552977.html
C++ Определить с какой буквы начинается больше слов в файле.
Дан файл с текстом. Слово-последовательность символов латинского языка, остальное разделители. Определить, с какой буквы начинается наибольшее количество слов(маленькие и большие буквы не различаются). Результат вывести в отдельный файл: сначала в отдельной строке буква, затем слова. помогите, пожалуйста, с написанием программы...
Проблема с функциией C++
Почему-то функция sin не работает. Компилятор выдает ошибку. в чем тут дело то? #include <iostream> #include <math.h> #include <stdio.h> using namespace std; double distance (double v, double a) {
C++ Ошибка: initializing argument 2 of `char* fgets(char*, int, FILE*) http://www.cyberforum.ru/cpp-beginners/thread552952.html
Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа Помогите исправить ошибку она в 18 строке (initializing argument 2 of `char* fgets(char*, int, FILE*))' #include<conio.h> #include<stdio.h> #include<string.h> #include <ctype.h> main() { FILE *fp;
C++ Количество слов в строке Суть задачи такая - нужно подсчитать, сколько целых чисел содержится в произвольной строке. Числа разделены пробелами (причём любым количеством), т.е. числа в словах типа: number33, 45st, dd44ff не считаются. Алгоритм я написал, но вероятно намудрил (особенно в строке 14 не нравится много проверок). Просто прошу покритиковать, и если кто может предложить свой вариант. #include <iostream>... подробнее

Показать сообщение отдельно
besh]<a
 Аватар для besh]<a
12 / 10 / 1
Регистрация: 02.11.2009
Сообщений: 194
20.04.2012, 00:35  [ТС]     пространство имен для шаблонного класса
блин не ставил <T> во 2ой строке...

Добавлено через 2 часа 0 минут
А конструкторы нужно для каждого типа специлиализировать?
Сделал вот такую вещь:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
template<typename T>
class BaseMatr {
    private:
        T **m;
        int n;
 
    public:
        class Rep;// row, col;
        Rep *row;
        BaseMatr();
        BaseMatr(int n);
        BaseMatr(const BaseMatr<T>&);
        BaseMatr operator= (const BaseMatr<T> &bm);
        ~BaseMatr();
        void Show();
};
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
template<typename T> BaseMatr<T>::BaseMatr() {
    m = new T*[1];
    m[0] = new T[1];
    n = 1;
}
template <typename T> BaseMatr<T>::~BaseMatr() {
    for(int i=0;i<n;i++)
        delete [] m[i];
    delete [] m;
}
 
template<typename T>BaseMatr<T>::BaseMatr(int pn) {
    m = new T*[pn];
    for(int i=0;i<pn;i++)
        m[i] = new T[pn];
    n = pn;
}
 
template<typename T>BaseMatr<T>::BaseMatr(const BaseMatr<T> &bm) {
    m = new float*[bm.n];
    n = bm.n;
    for(int i=0;i<bm.n;i++) {
        m[i] = new T[bm.n];
        std::copy(bm.m[i], bm.m[i]+n, m[i]);
    }
}
 
template<typename T> BaseMatr<T> BaseMatr<T>::operator=(const BaseMatr<T> &bm) {
    if (this==&bm) return *this;
 
    for(int i=0;i<n;i++)
        delete [] m[i];
    delete [] m;
 
    n = bm.n;
 
    m = new T*[n];
    for(int i=0;i<n;i++) {
        m[i] = new T[n];
        std::copy(bm.m[i], bm.m[i]+n, m[i]);
    }
    return *this;
};
 
template<typename T> void BaseMatr<T>::Show() {
    for(int i=0;i<n;i++) {
        for(int j=0;j<n;j++)
            std::cout<<m[i][j]<<"\t";
        std::cout<<endl;
    }
    std::cout<<endl;
}
когда объявляю BaseMatr<float> m;
пишет:
[ILINK32 Error] Error: Unresolved external 'BaseMatr<float>::BaseMatr<float>()' referenced from ...
[ILINK32 Error] Error: Unresolved external 'BaseMatr<float>::~BaseMatr<float>()' referenced from ...
 
Текущее время: 00:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru