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

Исключение для шаблона - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Шаблонные функции и классы http://www.cyberforum.ru/cpp-beginners/thread856344.html
Добрый день. У меня возникли проблемки при использование шаблонных функций. Вот код class LineTable{ private: AnsiString lname; AnsiString ltype; vector<int> lvalue; vector<float> flvalue; vector<double> dlvalue;
C++ Одномерный массив. Вычислить значение функции для отрицательных элементов массива и подсчитать их количество Дано одномерный массив Р состоящий из 32 элементов. Вычислить значение функции для отрицательных элементов массива и подсчитать их количество. Помогите с решением в С++. :) Зарание спасибо. :good: http://www.cyberforum.ru/cpp-beginners/thread856331.html
Классы и наследование C++
Помогите написать программу, в которой описана иерархия классов: геометрические фигуры(ромб, параллепипед, эллипс). Реализовать методы вычисления площади и периметра фигуры. Продемонстрировать работу всех методов классов, пердоставив пользователю выбор типа фигуры для демонстрации.
C++ Проверить на выход за границы массива
ПРивет, помогите пожалуйста, пишу класс - динамический массив, в перегрузке оператора нужно проверить на выход за границы, но не знаю как правильно использовать try, catch, throw. template <class T, int size> T & Array<T, size> :: operator (int index) { try { if (index < 0 || index >= currentSize) throw out_of_range("Index was out of range"); } catch(...) { // что тут писать чтобы...
C++ Сортировка очереди <char> http://www.cyberforum.ru/cpp-beginners/thread856300.html
помогите пож с сортировкой очереди queue очередь состоит из латинсколо алфавита. нужно отсортировать по возростанию и по спаданию .. типо от а до z и от z до а если можно через <algoritm> ну или через масив char (была идея с асхи кодами но не вышло у меня) char a = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y',...
C++ тип time_t Нужно ввести 2 переменные типа time_t с клавиатуры , потом переконвертировать их в строки и записать в файл. В процессе исполнения программы вылетает ошибка: Debug assertion failed. Expression: invalid null pointer. Что за такой невалидный нуль указатель не пойму. Даты вводил и в таком виде(25.11.2012 20:00:00) и в таком (Web Feb 13 16:06:10 2013) результат не меняется, все равно программа... подробнее

Показать сообщение отдельно
Linzman
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 48
05.05.2013, 14:43  [ТС]     Исключение для шаблона
gray_fox,
C++ (Qt)
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
94
95
96
97
98
99
100
101
#pragma once
#include "header.h"
template <typename A> class Array:
    public Container<A>{
    private:
        A* data;
        int length;
    public:
        Array<A>(int n){
        data=new A[n];
        length=n;
        }
        Array<A>(){
            data=new A[0];}
        ~Array<A>(){
        delete[] data;
        }
        void set(int j, A i){
        data[j]=i;
        }
         A get(int j){
        return data[j];
        }
        int len(){
        return length;
        }
        void operator=(Array<A> a){
            delete[] a.data;
            a=Array(length);
            for(int i=0;i<length;i++)
                a.data[i]=data[i];
        }
        Array<A> add(A a,int n){//adds a new A Element to the n position
 
        }
        int find(A a){//returns position and counts of elements inclsions
 
        }
        template <typename T> //Шаблоны работают но если T==char то имена посимвольно вводить неудобно
        friend std::ostream& operator<<( std::ostream& os, Array<T>& cont);
        template <typename T>
        friend std::istream& operator>>( std::istream& is, Array<T>& cont);
        friend std::ostream& operator<<( std::ostream& os, Array<char>& cont);
        friend std::istream& operator>>( std::istream& is, Array<char>& cont);
};
    /*class Group{
    private:
         Array<char>* name;
         Array<char>* last_name;
         int length;
    public:
        void SortByName(){}
        void SortByLastName(){}
        Array<char> GetMember(int n){}
        void SetMember(int n,char* a,char* b){}
        Array<char> ChangeMember(int n,char* a,char* b){}
    }*/
    std::ostream& operator<<( std::ostream& os, Array<char>& cont){//
            for(int i=0;i<cont.len();i++){
                    os<<cont.get(i);
                os<<'\n';
            }
        return os;
        };
    std::istream& operator>>( std::istream& is, Array<char>& cont){
            int m;
            std::cout<<"Insert Name length";
            char a;
            std::cin>>m;
            delete[] cont.data;
            cont.data=new char [m];
            for(int i=0;i<m;i++){
                //std::cout<<"Insert"<<i<<"element";
                is>>a;
                cont.set(i,a);
            }
            return is;
        };
     template <typename T> 
      std::ostream& operator<<( std::ostream& os, Array<T>& cont){//
            for(int i=0;i<cont.len();i++){
                    os<<cont.get(i)<<"\t";
                os<<'\n';
            }
        return os;
        };
     template <typename T>
       std::istream& operator>>( std::istream& is, Array<T>& cont){
            int m;
            std::cout<<"Insert Array length";
            T a;
            std::cin>>m;
            delete[] cont.data;
            cont.data=new T [m];
            for(int i=0;i<m;i++){
                std::cout<<"Insert"<<i<<"element";
                is>>a;
                cont.set(i,a);
            }
            return is;
        };
Теперь компилятор ругается "обнаружен многократно определенный символ - один или более"
 
Текущее время: 21:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru