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

Шаблоны классов. Обработка исключительных ситуаций - C++

Восстановить пароль Регистрация
 
monk1992
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 9
04.12.2012, 21:32     Шаблоны классов. Обработка исключительных ситуаций #1
вот прога Составить описание класса для определения одномерных массивов целых чисел (векторов). Предусмотреть возможность обращения к отдельному элементу массива с контролем выхода за пределы массива, возможность предоставления произвольных границ индексов при создании объекта, возможность выполнения операций поэлементного сложения и вычитания массивов с одинаковыми пределами индексов, умножения и деления всех элементов массива на скаляр, вывода на экран элемента массива по заданному индексу, вывода на экран всего массива.
Написать программу, демонстрирующую работу с этим классом.
код
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
class Vector
{
    friend Vector operator+(const Vector& lv, const Vector& rv);
private:
    int* data;
    int minI;
    int maxI;
    int lengths;
public:
    Vector(int minIndex, int maxIndex);
    Vector(int len);
    ~Vector();
    int Get(int index);
    int SetValue(int index, int value);
    void Show();
    void Div(int el);
    void Mul(int el);
};
 
Vector operator+(const Vector& lv, const Vector& rv)
{
 
    if (lv.maxI == rv.maxI && lv.minI == rv.minI)
    {
        Vector temp(rv.lengths);
        for (int i = 0; i < rv.lengths; ++i)
        {
            temp.data[i] = lv.data[i] + rv.data[i];
        }
        return temp;
    }
}
 
Vector::Vector(int minIndex, int maxIndex):
    minI(minIndex), maxI(maxIndex - 1)
{
    lengths = maxI + 1 - minI;
    data = new int[lengths];
 
    for (int i = 0; i < lengths; ++i)
        data[i] = 0;
}
Vector::Vector(int len):
    minI(0),maxI(len-1)
{
    data = new int[len];
    lengths = len;
    for(int i = 0; i < len; ++i)
        data[i] = 0;
}
int Vector::Get(int index)
{
    if (index < minI || index > maxI)
        return -1;
    else
        return data[index - minI];
}
int Vector::SetValue(int index, int value)
{
    if (index < minI || index > maxI)
        return -1;
    else
        data[index - minI] = value;
}
Vector::~Vector()
{
    delete[] data;
}
void Vector::Show()
{
    cout << "vector : " << endl << "Lengths = " << lengths << "\t Indexes " << minI << " to " << maxI << endl;
    for (int i = 0; i < lengths; ++i)
    {
        cout << data[i] << " ";
    }
    cout << endl;
}
void Vector::Div(int val)
{
    for (int i = 0; i < lengths; ++i)
    {
        data[i] /= val;
    }
}
 
void Vector::Mul(int val)
{
    for (int i = 0; i < lengths; ++i)
    {
        data[i] *= val;
    }
}
 
int main()
{
    Vector vector(10);
    vector.SetValue(1,100);
    vector.SetValue(9,100);
    vector.Show();
    Vector data(5,10);
    data.SetValue(6,50);
    data.SetValue(8,50);
    data.Show();
    system("@pause");
    return 0;
}
но надо еще штоб Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. помогите ато не шарю где шо дописать надо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2012, 21:32     Шаблоны классов. Обработка исключительных ситуаций
Посмотрите здесь:

C++ Обработка исключительных ситуаций
Обработка исключительных ситуаций. C++
Обработки исключительных ситуаций C++
Ограничения исключительных ситуаций f(.)throw(.){} C++
C++ Обработка исключительных ситуаций
Обработка исключительных ситуаций C++
C++ Обработка исключительных ситуаций!
Обработка исключительных ситуаций C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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