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

Шаблонный класс для работы с разными типами данных и объявление методов в main - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализовать программу с использованием template http://www.cyberforum.ru/cpp-beginners/thread1756502.html
фууф не могу понять как реализовать эту программу с использованием шаблона template #include <stdio.h> int printmas (int intmas) //функция выводит массив на экран { for(int i=0; i<3; i++)
C++ Программа о заявках на авиабилеты Составить программу, которая содержит текущую информацию о заявках на авиабилеты. Каждая заявка содержит: · пункт назначения; · номер рейса; · фамилию и инициалы пассажира; · желаемую дату вылета. Программа должна обеспечивать: · хранение всех заявок в виде списка; · добавление заявок в список; · удаление заявок; http://www.cyberforum.ru/cpp-beginners/thread1756487.html
Как сделать шаблон функции другом шаблона класса? C++
С обычной функцией понятно: template<class T> class A { friend void f(); } А вот если функция f шаблонная, то указать ее другом шаблонному классу A не получается.
C++ Как char записать в структуры?
#include <conio.h> #include <iostream> #include <string> #include <fstream> using namespace std; //string buff; const int N = 20; struct List { // -- поля данных -- char name; // имя
C++ Перевод с цикла в рекурсию http://www.cyberforum.ru/cpp-beginners/thread1756466.html
#include <iostream> #include <cstdlib> // Для рандома #include <time.h> // Для рандома #include <locale.h> // Для чтения русской клавиатуры using namespace std; int main() { setlocale(LC_ALL,"RUS"); int stime;
C++ Создать класс Rectangle и написать функцию масштабирования прямоугольника Создать класс Rectangle. Класс имеет атрибуты length и width, каждый из которых по умолчанию равен 1. У него имеются элементы-функции(методы) perimeter и area для вычисления соответственно периметра и площади прямоугольника. Set-функции должны гарантировать, что length и widthявляются значениями с плавающей точкой, большими 0.0 и меньшими 20.0. Включить в него функцию draw, которая выводит... подробнее

Показать сообщение отдельно
sodaily
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 121

Шаблонный класс для работы с разными типами данных и объявление методов в main - C++

07.06.2016, 01:05. Просмотров 469. Ответов 20
Метки (Все метки)

есть класс шаблонный, но не могу объявить методы в main и сделать длядругих типов когда делала через шаблонные функции, то программа работает только с int,как сделать для других не понимаю читала про шаблоны, только как это реализовать не хватает знаний
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
#include "conio.h" 
#include "stdafx.h"
#include "conio.h" 
 
#include <iostream>
#include <iostream>
 using namespace std;
template <typename T>
class M
{ public
template <typename T>
void Sort( T* A, int n )//сортировка по возрастанию пузырек
{
    for( int k( 1 ); k <= n; k++ )
    {
        for( int i = 0; i < n - k; i++ )
        {
            if( A[ i ] > A[ i + 1 ] )
                swap( A[ i ], A[ i + 1 ] );//Функция swap меняет местами значения текущего эл и соседнего
        }
    }
}
 
template <typename T>
void Obr( T *A, int n )
 
{
    for( int j = 0; j < n; j++ )
    {
        for( int i = 0; i < n - 1; i++ )
        {
            if( A[ i ] > A[ i + 1 ] )
                swap( A[ i ], A[ i + 1 ] ); //Функция swap меняет местами значения
        }
    }
}
};
 
int main()
{
    setlocale( LC_ALL, "Russian" );
    int *A;
    int n;
    cout << "Введите размерность массива: ";
    cin >> n;
    A = new int[ n ];
    for( int i( 0 ); i < n; i++ )
    {
        cout << "Введите " << i + 1 << " - элемент: ";
        cin >> A[ i ];
    }
    
    ASort( A, n );
    cout << "Отсортированный массив: ";
    for( int i( 0 ); i < n; i++ )
    {
        cout << A[ i ] << " ";
    }
    Obr( A, n );
    cout << "обратный порядок: ";
    for( int j = n - 1; j >= 0; j-- )
        cout << A[ j ] << " "; // Выводим массив в обратном порядке ( с 9 до 0 включительно ) 
    _getch();
    return 0;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru