0 / 0 / 0
Регистрация: 03.10.2018
Сообщений: 19
1

Прошу объяснения темы "Шаблоны"

05.12.2018, 20:55. Показов 950. Ответов 4
Метки нет (Все метки)

Помогите понять тему шаблонов.
Как использовать, какие преимущества?
Сайты с "понятным разъяснением" не кидать!
Спасибо
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2018, 20:55
Ответы с готовыми решениями:

Шаблоны. Плохо понимаемые моменты из книги "Шаблоны С++. Справочник разработчика". (Вандевурд, Джосаттис)
Так как изучаю эту книгу, то в некоторых местах возникают вопросы. Чтобы не плодить много тем,...

Шаблоны класса:Матрица. Ошибка бинарный "=": не найден оператор, принимающий правый операнд типа "Matr<T>"
Выдает ошибку &quot;бинарный &quot;=&quot;: не найден оператор, принимающий правый операнд типа &quot;Matr&lt;T&gt;&quot; (или...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;,...

Для каждой строки найти слова, которые не имеют ни одного из букв: "l", "k", "r", "s" i "j"
Задано символьные строки. Строка состоит из нескольких слов (наборов символов), которые разделяются...

4
7350 / 6275 / 2853
Регистрация: 14.04.2014
Сообщений: 27,201
05.12.2018, 21:05 2
Книгу открой.
0
16 / 11 / 6
Регистрация: 18.07.2018
Сообщений: 51
05.12.2018, 21:20 3
Лучший ответ Сообщение было отмечено AndreiCyber как решение

Решение

Представь что есть, у тебя класс, который может работать с одним типом данных (например int), у него есть свой функционал, а затем у тебя возникает необходимость начать с работать double, но задачи такие же по сути, а решиние таких задач уже реализовано в первом классе, так вот чтобы не переписывать несколько раз этот класс, его можно сделать шаблонным, тем самым уменьшив себе количество работы.
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
#include <iostream>
using namespace std;
 
template <class T>
class MyClass
{
public:
    T Summa(T a,T b)
    {
        return a + b;
    }
};
 
int main()
{
    system("chcp 1251 >>null");
    //srand(time(NULL));
    MyClass <int> first;
    cout<<first.Summa(5, 8) << endl;
 
    MyClass<double>second;
    cout << second.Summa(5.8, 9.7) << endl;
    return 0;
}
1
0 / 0 / 0
Регистрация: 03.10.2018
Сообщений: 19
06.12.2018, 16:11  [ТС] 4
nmcf, читал.

Добавлено через 25 секунд
Mikelyndgelo, благодарю.
0
Неэпический
17807 / 10580 / 2042
Регистрация: 27.09.2012
Сообщений: 26,606
Записей в блоге: 1
06.12.2018, 22:02 5
Когда-то писал, может сгодится: https://code-live.ru/post/cpp-template-functions/
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2018, 22:02
Помогаю со студенческими работами здесь

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование)
Разработать программу с использованием наследования классов, реализующую классы: − воин;...

Шаблоны С++ объяснения
#include &quot;header.h&quot; void main () { setlocale(LC_ALL,&quot;&quot;); vector&lt;char&gt; a(3), b(3);...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания"
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс"
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления"
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс...

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата"
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru