Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
oleum
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 59
1

Реализовать структуру для хранения массива произвольного типа с помощью шаблонов

23.12.2015, 21:59. Просмотров 316. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста, как реализовать структуру??
Сегодня вам нужно реализовать структуру для хранения массива произвольного типа с
помощью шаблонов. Для тестирования вашей структуры воспользуйтесь следующей программой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
template<class T>
void print(const Array<T> a)
{
for(size_t i=0; i < a.getSize(); ++i)
cout << a.at(i) << " ";
cout << endl;
}
int main()
{
const int a[] = {1, 2, 3};
int b[] = {5, 6, 7, 8, 9};
double d[] = {3.14, 2.72};
const Array<int> arr1(a, sizeof(a) / sizeof(a[0]));
print(arr1); // 1 2 3
Array<int> arr2(arr1);
print(arr2); // 1 2 3
const Array<int> arr3(b, sizeof(b) / sizeof(b[0]));
arr2 = arr3;
print(arr2); // 5 6 7 8 9
Array<double> darr(d, 2);
darr = darr;
print(darr); // 3.14 2.72
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2015, 21:59
Ответы с готовыми решениями:

Структура для хранения массива произвольного типа с использованием шаблонов
Здравствуйте. Помогите, пожалуйста, разобраться с кодом программы. Необходимо...

Собственная реализация контейнера для хранения значений произвольного типа
Дали следующее задание. Не совсем понимаю с чего начинать и как дальше быть....

Сортировка массива произвольного типа
Помогите разобраться! зачем swap и memswap для сортировки в этой программе ...

Описать структуру для хранения следующей информации
Нужно срочно написать, а не выходит(((( Описать структуру для хранения...

Определите структуру Complex для хранения комплексных чисел
Я чего-то совсем запутался, может кто поможет. =определить типы и функции в...

5
Croessmah
++Ͻ
14630 / 8379 / 1582
Регистрация: 27.09.2012
Сообщений: 20,583
Записей в блоге: 2
Завершенные тесты: 1
23.12.2015, 22:10 2
zss, я ж говорил, что всё серьезно )))

oleum, и кто именно умрет?
0
oleum
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 59
23.12.2015, 22:18  [ТС] 3
сможете помочь?
0
zss
Модератор
Эксперт С++
7250 / 6699 / 4240
Регистрация: 18.12.2011
Сообщений: 17,680
Завершенные тесты: 1
24.12.2015, 08:37 4
Это Вам подарок от Структура для хранения массива произвольного типа с использованием шаблонов
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
#include <iostream>
#include <cmath>
using namespace std;
 
template<class T>
struct Array 
{
   Array(T *a, size_t n) : size(n)
    {
        data = new T[n];
        for(size_t i = 0; i < n; ++i) 
            data[i] = a[i];
    }
   // копиконструктор
    Array(Array& a) : size(a.size)
    {
        data = new T[a.size];
        for(size_t i = 0; i < size; ++i) 
            data[i] = a.data[i];    
    }
    
    ~Array()
    {
        delete[] data;
    }
    
    T at(size_t i)
    {
        return data[i];
    }
    size_t getSize(){return size;} 
    // правило трех: копиконструктор, деструктор, operator=
    Array& operator=(Array& a)
    {
        if(this!=&a)
        {
            delete[] data;
            size=a.size;
            data = new T[a.size];
            for(size_t i = 0; i < size; ++i) 
                data[i] = a.data[i];    
        }
        return *this;
    }
    
private:    
    T *data;
    size_t size; 
};
 
template<class T>
void print(Array<T> &a)
{
    for(size_t i=0; i < a.getSize(); ++i)
        cout << a.at(i) << " ";
    cout << endl;
}
 
int main()
{
    int a[] = {1, 2, 3};
    int b[] = {5, 6, 7, 8, 9};
    double d[] = {3.14, 2.72};
    
    Array<int> arr1(a, sizeof(a) / sizeof(int));
    print(arr1); // 1 2 3
    
    Array<int> arr2(arr1);
    print(arr2); // 1 2 3
    
    Array<int> arr3(b, sizeof(b) / sizeof(int));
    arr2 = arr3;
    print(arr2); // 5 6 7 8 9
    
    Array<double> darr(d, 2);
    darr = darr;
    print(darr); // 3.14 2.72
    system("pause");
    return 0;
}
1
SergioO
168 / 184 / 90
Регистрация: 13.12.2015
Сообщений: 995
24.12.2015, 08:49 5
Сегодня вам нужно реализовать структуру для хранения массива
это команда местным? ))
надо два раздела на форуме сделать:
1. С++ для начинающих (изучаю, но не получается что-то или есть вопросы)
и
2. С++(по моему велению - "программа пишись")
1
oleum
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 59
27.12.2015, 23:05  [ТС] 6
Спасибо)
0
27.12.2015, 23:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2015, 23:05

Определите структуру Complex для хранения комплексных чисел
Условия задачи: Определите структуру Complex для хранения комплексных чисел:...

Определите структуру Complex для хранения комплексных чисел
Не могу осилить задание, помогите! Определите структуру Complex для хранения...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru