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

Помогите придумать несложную задачку по теме "Шаблоны классов" - C++

Восстановить пароль Регистрация
 
Подсолнух
1 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 94
11.01.2011, 00:40     Помогите придумать несложную задачку по теме "Шаблоны классов" #1
Привет всем, я новичок в С++, и хочу сделать какую нибудь задачу по теме "шаблоны классов", придумайте пожалуйста какую нибудь не сильно трудную задачу, ну а если не получиться сделать, подскажите в чем ошибка, буду исправляться
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2011, 00:40     Помогите придумать несложную задачку по теме "Шаблоны классов"
Посмотрите здесь:

C++ Как описывать функции, заданные в шаблоне класса, тип возвращаемого значения которых совпадает с именем класса
C++ Шаблоны классов
C++ Шаблон класса. Помогите описать бинарный минус
C++ Разработать шаблон класса "Очередь"
Нужна помощь , помогите переделать несложную программу с C# на C++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
11.01.2011, 08:47     Помогите придумать несложную задачку по теме "Шаблоны классов" #2
Ну, я думаю, классическая задача - создай класс "массив", чтобы он мог хранить элементы произвольного типа, был динамически расширяющимся и проверял выход за пределы массива
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.01.2011, 09:43     Помогите придумать несложную задачку по теме "Шаблоны классов" #3
Или список. Или вообще любой контейнерный тип, они сами так на шаблонность и напрашиваются.
Подсолнух
1 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 94
11.01.2011, 17:51  [ТС]     Помогите придумать несложную задачку по теме "Шаблоны классов" #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
#include <iostream>
using namespace std;
 
template <class T>
class Massiv
{
    T *data;
    int size;
public:
    Massiv(int);
    ~Massiv()
    {
        delete[] data;
    }
    T& operator [](int i)
    {
        return data[i];
    }
};
template <class T>
Massiv <T>::Massiv(int n)
{
    data = new T[n];
    size = n;
}
void main()
{
    Massiv <int> X(5);
    Massiv <char> C(5);
    for (int i=0;i<5;i++)
    {
        X[i] = i;
        C[i] = 'A'+i;
        cout<<X[i]<<' '<<C[i]<<'t';
    }
}
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.01.2011, 17:54     Помогите придумать несложную задачку по теме "Шаблоны классов" #5
Реализуйте вторую перегрузку доступа по индексу - константную.
Также конструктор копии не помешал бы...
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
11.01.2011, 17:55     Помогите придумать несложную задачку по теме "Шаблоны классов" #6
Подсолнух, где проверка выхода за границы массива (которую нужно реализовать в операторе [])? Еще бы хорошо предусмотреть возможность динамического расширения массива.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
11.01.2011, 18:25     Помогите придумать несложную задачку по теме "Шаблоны классов" #7
Ко всему вышесказанному:
1) Оператор присваивания не реализован.
2) Конструктор не объявлен как explicit.
3) Нет функции для получения размера массива.
4) функция main должна возвращать int.
Подсолнух
1 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 94
15.01.2011, 01:16  [ТС]     Помогите придумать несложную задачку по теме "Шаблоны классов" #8
Цитата Сообщение от Nameless One Посмотреть сообщение
Подсолнух, где проверка выхода за границы массива (которую нужно реализовать в операторе [])? Еще бы хорошо предусмотреть возможность динамического расширения массива.

честно, знаний не хватает(я ж новичок), подскажи как доделать???
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
15.01.2011, 05:11     Помогите придумать несложную задачку по теме "Шаблоны классов" #9
Выход за границы массива: в операторе [] перед тем, как возвращать ссылку на элемент массива, можно проверить, что индекс - корректный. Т.е. индекс должен быть >= 0 и <size. В противном случае нужно выбрасывать исключение.
Динамическое расширение массива: создаешь новый массив большего размера, копируешь элементы старого, удаляешь старый массив
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2011, 08:35     Помогите придумать несложную задачку по теме "Шаблоны классов"
Еще ссылки по теме:

Шаблоны классов C++
C++ Шаблоны классов
C++ Шаблоны классов

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
15.01.2011, 08:35     Помогите придумать несложную задачку по теме "Шаблоны классов" #10
+ Можно еще удаление реализовать. Итератор для более удобного доступа (но это уже не просто). Ну и остальные приятные мелочи (вроде вставки массива в уже существующий массив).
Yandex
Объявления
15.01.2011, 08:35     Помогите придумать несложную задачку по теме "Шаблоны классов"
Ответ Создать тему
Опции темы

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