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

Родовые классы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Виктория_
46 / 1 / 0
Регистрация: 12.12.2011
Сообщений: 27
27.03.2012, 23:22     Родовые классы #1
Создать родовой класс в котором реализовать вычисления: в одномерном массиве, состоящем из n вещественных элементов, использую родовые функции, вычислить сумму элементов массива с нечетными номерами.
Родовые классы полезны, когда класс содержит общую логику работы. Например, алгоритм, который реализует очередь целых, будет также работать ис очередью символов. Кроме того, механизм, который реализует связанный список почтовых адресов, будет также поддерживать связанный список за-пасных частей к автомобилям. С помощью родового класса можно создать класс, реализующий очередь, связанный список и т. д. для любых типов данных. Компилятор будет автоматически генерировать правильный типобъекта на основе типа, заданного при создании объекта.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2012, 23:22     Родовые классы
Посмотрите здесь:

C++ родовые класы
C++ Родовые классы. Ошибка link.exe
C++ Классы
C++ КЛАССЫ
C++ Массив и родовые функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Serejke_qq
 Аватар для Serejke_qq
149 / 107 / 9
Регистрация: 06.07.2011
Сообщений: 224
Завершенные тесты: 2
27.03.2012, 23:58     Родовые классы #2
я так понял речь о шаблонах.. вот простенькая реализация :
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
#include <iostream>
 
#define StandartSize 5;
 
using namespace std;
 
template <class Type>
class Vect
{
    private:
        int size;
        Type * arr;
    public:
        Vect();
        ~Vect();
        void Show();
        void Input();
        Type Sum();
};
 
template <class Type>
Vect<Type>::Vect()
{
    size = StandartSize;
    arr = new Type[size];
 
    for(int i=0; i<size; i++)
        arr[i] = 0;
}
 
template <class Type>
Vect<Type>::~Vect()
{
    delete[] arr;
}
 
template <class Type>
void Vect<Type>::Input()
{
    cout << "Input array (" << size << " elements) :\n";
    for(int i=0; i<size; i++)
        cin >> arr[i];
}
 
template <class Type>
void Vect<Type>::Show()
{
    cout << "\nArray : \n";
    for(int i=0; i<size; i++)
        cout << arr[i] << " ";
}
 
template <class Type>
Type Vect<Type>::Sum()
{
    Type Sum=0;
    for(int i=0; i<size; i+=2)  // 0 - как не чётный индекс
        Sum+=arr[i];
 
    return Sum;
}
 
int main()
{
    Vect<double> V;
 
    V.Input();
    V.Show();
 
    cout << "\nSum = " << V.Sum();
 
    return 0;
}
jekmut
0 / 0 / 0
Регистрация: 30.12.2012
Сообщений: 54
13.10.2014, 20:55     Родовые классы #3
Здравствуйте! А что значит родовой связанный список? Можете привести пример?
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
13.10.2014, 21:21     Родовые классы #4
jekmut, ты что,, просто так что-ли приятелей ищешь, с которыми поговорить о списках можно? так создавай тему и там говори!
Yandex
Объявления
13.10.2014, 21:21     Родовые классы
Ответ Создать тему
Опции темы

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