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

Шаблоны классов, перегрузка операторов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу, которая находит самое длинное слово, встречающееся в предложении http://www.cyberforum.ru/cpp-beginners/thread1035740.html
Задано предложение-строка. Написать программу, которая находит самое длинное слово, встречающееся в предложении. когда ввожу строку, а в ней слова через пробел, так он читает только первое слово:(
C++ Ошибка при отладке программы Недавно начал заниматься на С++ по книге "Дейтел Х. Дейтел П. - Как программировать на C++", и столкнулся с такой проблемкой, ввожу самый простейший код, как и показано в книге: #include <iostream.h> main() { cout << "Добро пожаловать c С++"; return 0; } http://www.cyberforum.ru/cpp-beginners/thread1035734.html
Почему не запускается программа? C++
#include <iostream> #include <cstring> #include <cmath> using namespace std; class Muscleman { // объявление класса public: Muscleman(const char *nm, double a_w); // объявление конструктора Muscleman(const Muscleman &n);
C++ Удалить из бинарного дерева всех отцов, имеющих одного сына
Написала класс по работе с бинарным деревом. Помогите, пожалуйста, написать функцию по удалению из дерева всех однодетных отцов. Сижу уже над этой функцией 2 недели. Заранее извиняюсь за кривой код. Функция del в коде ниже. #include <stdio.h> #include <stdlib.h> class tree { private: struct list
C++ Предусмотреть просмотр номеров маршрутов по названию остановки http://www.cyberforum.ru/cpp-beginners/thread1035695.html
Схему автобусных маршрутов города представить структурой типа граф. Узлы структуры соответствуют остановкам автобусных маршрутов и дополнительно включают название остановок. Предусмотреть просмотр номеров маршрутов по названию остановки.
C++ Задача на строки Задача:Дано предложение. Напечатать все символы, расположенные между первой и второй запятой. Если второй запятой нет, то должны быть напечатаны символы, расположенные после первой запятой. Ошибка: error C2665: strstr: ни одна из 2 перегрузок не может преобразовать все типы аргументов 13 error C2665: strstr: ни одна из 2 перегрузок не может преобразовать все типы аргументов 17 void... подробнее

Показать сообщение отдельно
KATbIK
 Аватар для KATbIK
86 / 81 / 10
Регистрация: 02.08.2011
Сообщений: 335
10.12.2013, 14:03     Шаблоны классов, перегрузка операторов
Держи
Кликните здесь для просмотра всего текста
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
#include <iostream>
#include <algorithm>    // std::set_intersection, std::sort
#include <vector>
#include <fstream>
#include <string>
#include <cstdlib>
#include <exception>
 
#include <stdexcept>
#include <new>
 
using namespace std;
 
template <class T>
class Array
{
     private:
     int _size;
     int *pia;
 
     public:
     Array<T>(int sz = 12);
     Array<T>(const Array <T> &rhs);
     Array<T>(int *array, int sz);
     int size();
     int min();
     int max();
     int chet ();
     bool operator== (const Array <T> &rhs);
     bool operator!= (const Array <T> &rhs);
     int& operator[] (int index);
     Array <T>& operator = (const Array <T> &rhs);
     void show();
};
 
 
template <class T>
Array<T>::Array (int sz) {
    _size = sz;
    pia = new int[_size];
    for (int i=0; i<_size; i++) {
    pia[i]=0;
     }
}
 
template<class T>
 
Array<T>::Array (const Array <T> &rhs) {
     _size = rhs._size;
     pia = new int[_size];
     for (int i=0; i<_size; i++) {
     pia[i] = rhs.pia[i];
         }
     }
template<class T>
Array<T>::Array (int *array, int sz) {
    _size = sz;
    pia = new int[_size];
    for (int i=0; i<_size; i++) {
    pia[i] = array[i];
        }
    }
template<class T>
int Array<T>::size() {
    return _size;
    }
template<class T>
int Array<T>::min() {
    int temp = pia[0];
    for (int i=0; i<_size; i++) {
    if (pia[i]<temp) temp = pia[i];
        }
    return temp;
    }
template<class T>
int Array<T>::max() {
    int temp = pia[0];
    for (int i=0; i<_size; i++) {
    if (pia[i]>temp) temp = pia[i];
    }
    return temp;
    }
 
    template <class T>
    int Array<T>::chet() {
    int temp = 4;
    for (int i=0; i<_size; i++) {
    if (pia[i]==temp) {
        temp++;
    }
    }
    return temp;
    }
 
template<class T>
void Array<T>::show() {
    for (int i=0; i< _size; i++) {
     cout << pia[i] << "  ";
        }
           cout << "\n";
      }
template <class T>
 
 bool Array<T>::operator== (const Array <T> &rhs) {
        if (_size != rhs._size)
        return false;
             for (int i=0; i< _size; i++) {
             if (pia[i]!= rhs.pia[i])
             return false;
            }
           return true;
            }
template<class T>
bool Array<T>:: operator!= (const Array<T> &rhs){
    if(_size!= rhs._size)
    return false;
    for(int i=0; i<_size; i++){
        if(pia[i]==rhs.pia[i])
        return true;
    }
    return false;
    }
    template<class T>
     int& Array<T>::operator[](int index)
    {
          if ((index < 0) || (index > _size)){
          throw out_of_range("out of range");
          }
          return pia[index];
      }
 
template<class T>
Array<T>& Array<T>::operator=(const Array <T> &rhs) {
 
     if (this == &rhs) {
         return *this;
         }
     pia = rhs.pia;
     return *this;
    }
 
    template <class U>
    istream& operator >>(istream &s, const Array<U> &arr)
    {
    int i;
     s >> arr[i];
     return s;
    }
    template <class U>
    ostream& operator <<(ostream &s, const Array<U> &arr)
    {
    int i;
    s<<arr[i];
    return s;
    }
 
    /*
    class out_of_range : public logic_error {
    public:
      explicit out_of_range (const string& ex));
      };
      */
 
int main(){
    try{
    int mas[10] = {4, 10, 3, 5, 4, 22, 4, 31111, 57, 96};
    Array<int> arr(10);
 
    Array<int> arr1(mas, 10);
    Array<int> arr2(mas, 10);
    cout << "Basic array\n";
    arr.show();
    arr[0] = 500;
    arr.show();
 
    cout << "Initialization array\n";
    arr1.show();
    cout << "Copy constructor:\n";
    Array<int> arr3(arr1);
    arr3.show();
     cout << "=\n";
     arr1 = arr;
     arr1.show();
      arr2.chet();
    cout << "Another size|min|max:\n";
    cout << arr2.size() << " | " << arr2.chet() << std::endl;
    cout << (arr1==arr) << "\t";
    cout << (arr1!=arr) << "\n";
    //string str( "Micro" );
    //      string rstr( "soft" );
    //            str.append( rstr, 5, 3 );
    //                  cout << str << endl;
    //                         }
    //                        catch ( exception &e ) {
    //                              cerr << "Caught: " << e.what( ) << endl;
    }
     catch(out_of_range& ex){
    cerr << "out_of_range: " << ex.what();
 
    }
 
    catch(bad_alloc& ex){
            cerr<< "bad_alloc"<<ex.what();
 
}
return 0;
    }

Как заметил орк, забыли скобку закрыть и еще ошибка в 186 строчке.
 
Текущее время: 05:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru