Форум программистов, компьютерный форум, киберфорум
Наши страницы

Подскажите что за ошибка? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Получение заранее заданной суммы из элементов массива http://www.cyberforum.ru/cpp-beginners/thread769991.html
Всем привет. Столкнулся с такой проблемой: необходимо из заданного целочисленного массива собрать заранее определенную сумму или указать, что это невозможно. Были мысли о том, чтобы сразу отрезать...
C++ Чтение из бинарного файла значений Доброго времени суток. Есть бинарный файл. Можно из него как-нибудь считать значения по адресам? 0x77, 0x1E, 0xEB, 0x4E Просто не знаю, как это даже в поиск толком забить... http://www.cyberforum.ru/cpp-beginners/thread769952.html
Многопоточность в WinForms C++
суть проблемы : есть форма с двумя кнопками. по нажатии одной из кнопок должен вызываться метод(или функция из другого файла, не принципиально), в котором выполняется цикл, но этот цикл не должен...
Можно ли Хорошо посмотреть информацию о графическом файле в разных библиотеках? C++
Есть имя (понятно с правильным путем, но это неважно). Надо узнать Размер этого графического файла. Разумеется можно файл Прочесть и для созданного объекта узнать размер (я это уже опробовал на...
C++ Ошибка cout<<< http://www.cyberforum.ru/cpp-beginners/thread769870.html
Не пойму в чем проблема... во втором cout<< ошибку выдает. Кто-то может дать объяснить почему? #include <iostream> using namespace std; template <class T> T div(T x, T y) { return x/y;
C++ Почему в динамическом массиве не работает то, что работает со статическим? Программа зависает #include<iostream> #include<stdlib.h> #include<time.h> using namespace std; int main() { srand(time(NULL)); подробнее

Показать сообщение отдельно
1ые
1 / 1 / 0
Регистрация: 19.01.2013
Сообщений: 98
23.01.2013, 20:01  [ТС]
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
#ifndef ARRAY1_H
#define ARRAY1_H
#include <iostream>
using namespace std;
class Array
{
    friend ostream & operator<<(ostream &, const Array &);
    friend istream & operator>>(istream &, Array &);
    public:
        Array(int = 10);
        Array(const Array &);
        ~Array();
        int getsize() const;
        const Array &operator=(const Array &);
 
        int operator == (const Array &) const;
        int operator != (const Array &) const;
 
        int &operator[] (int);
        static  int getArrayCount();
 
    private:
        int *ptr;
        int size;
        static int ArrayCount;
};
#endif ARRAY1_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
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
#include <iostream>
#include <cstdlib>
#include <assert.h>
#include <Array.h>
int Array::ArrayCount = 0;
Array::Array(int asize)
{
    ++ArrayCount;
    size = asize;
    ptr = new int[size];
    assert(ptr !=0 );
    for (int i = 0; i < size; i++)
        ptr[i] = 0;
}
Array::Array(const Array& init)
{
    ArrayCount++;
    size = init.size;
    ptr = new int[size];
    assert(ptr != 0);
    for (int i = 0; i < size;i++)
    ptr[i] = init.ptr[i];
}
Array::~Array()
{
    --ArrayCount;
    delete [] ptr;
}
int Array::getsize() const
{
    return size;
}
const Array & Array::operator= (const Array &rig)
{
    if (&rig != this)
    {
        delete [] ptr;
        size = rig.size;
        ptr = new int[size];
        assert(ptr != 0);
 
        for (int i = 0; i < size; i++)
        {
            ptr[i] = rig.ptr[i];
        }
    }
    return *this;
}
int Array::operator ==(const Array &rig) const
{
    if (size != rig.size)
        return 0;
    for (int i = 0; i < size; i++)
        if (ptr[i] != rig.ptr [i])
            return 0;
    return 1;
}
int Array::operator != (const Array &rig) const
{
    if (size != rig.size)
        return 1;
    for (int i = 0; i < size; i++)
        if(ptr[i] != rig.ptr[i])
            return 1;
    return 0;
}
int &Array::operator [] (int subscript)
{
    assert(0 <= subscript && subscript < size);
    return ptr[subscript];
}
int Array::getArrayCount ()
{
    return ArrayCount;
}
istream &operator >> (istream & input, Array &a)
{
    for (int i = 0; i < a.size; i++)
        input >> a.ptr[i];
 
    return input;
}
ostream &operator << (ostream & output, const Array &a)
{
    for (int i = 0; i < a.size; i++)
    {
        output << a.ptr[i] << ' ';
    if (((i+1) & 10 ) == 0)
        output << endl;
    }
    
    return output;
}
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
#include <iostream>
#include <Array.h>
using namespace std;
int main()
{
    cout << "Number create arrays: " << Array::getArrayCount() << endl;
    Array integers1(7), integers2;
    cout << "Number create arrays: " << Array::getArrayCount() << endl;
    cout << "Size of array integer1= " << integers1.getsize() << endl << "Array after setting initials values: " 
        << endl << integers1 << endl;
 
    cout << "Size of Array integers2:" << integers2.getsize() << endl << "Array after setting initials values: " 
        << endl << integers2 << endl;
 
    cout << "Enter 17 values: " << endl;
    cin >> integers1 >> integers2;
    cout << "Adter enter Arrays conteins: " <<
        endl << "integers1: " << integers1 <<
        endl << "integers2: " << integers2 << endl;
 
    if (integers1 != integers2)
        cout << "They is not equal" << endl;
 
    Array integers3(integers1);
 
    cout << endl << "Size of integers3: " << integers3.getsize() << endl << "Values of integers3: " <<
        integers3 << endl;
    if (integers1 == integers2)
        cout << "they equal" << endl;
    cout << "integers1[5] equal: " << integers1[5] << endl;
 
    integers1[5] = 1000;
 
    cout<< integers1[5] << endl;
    /*integers1[15] = 1000;*/
    system("pause");
    return 0;
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru