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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск кратчайшего пути в графе С++ http://www.cyberforum.ru/cpp-beginners/thread1148263.html
Идея программы такова: создаем поле, задаем препятствия (свободные клетки - 1, занятые - 0), по этому полю строится матрица смежности, каждая клетка - вершина графа. далее мы вводим координаты "робота" и точку куда он должен попасть, нужно проанализировать все возможные маршруты (желательно, но не обязательно вывести их количество) и вывести кратчайший маршрут. #include "stdafx.h" #include...
C++ Определить, сколько чисел из стека больше среднего значения всех чисел стека Доброго времени суток! Задача: Определить, сколько чисел из стека больше среднего значения всех чисел стека. Заранее благодарю http://www.cyberforum.ru/cpp-beginners/thread1148258.html
Сдвинуть элементы одномерного массива вправо на 1 элемент C++
#include <iostream> using namespace std; int logArr; int iLastDay=30, k=1, tmp=0; int main() { for(int j=0; j<iLastDay; j++){ logArr=tmp;
C++ Интерфейс консольного приложения
Мне интересно, реально ли это вообще? Поясню на конкретном примере. Пытаюсь писать консольную игру-файтинг. Текстовая ,естественно. Можно ли сделать так, чтобы верхняя строка оставалась одной и той-же, и обновлялась с изменением параметров, а нижние строки "перерисовывались"? У меня драка в цикле while. Можно ли сделать так, чтобы текст, выводимый циклом стирался, а жизни героя обновились в...
C++ Переход по кнопке из Form1 в Form2 http://www.cyberforum.ru/cpp-beginners/thread1148226.html
Доброго времени суток! Решил попробовать программирование под Bada на С++, и сразу же встал перед ошибкой: не могу сделать переход при нажатии кнопки из Form1 в Form2. Нашел на форуме часть кода: void Form1::OnActionPerformed(const Control& source, int actionId) { case IDC_ACTION: { Form2* pExeForm = new Form2(); pExeForm->Initialize(); r =...
C++ Работа со структурой. Ошибка в коде Задача: Отсортировать студентов по оценке по первому предмету. Вывести на экран фамилии и даты рождения студентов, не получивших за все время обучения ни одной тройки и двойки. N = 7. Помогите найти ошибку!!!!!!!!!!! #include <iostream.h> #include <conio.h> #include <string.h> #include <stdio.h> подробнее

Показать сообщение отдельно
VAAADIM
2 / 2 / 1
Регистрация: 14.10.2013
Сообщений: 47

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

14.04.2014, 18:58. Просмотров 161. Ответов 0
Метки (Все метки)

файл temp.h
C++
1
2
3
4
5
6
7
8
9
10
11
template<class T> 
class functions
{
    T *q;
    
   public:
    functions(); 
    ~functions()  { delete [] q; }
    void sort(T* item, int counter);      
    void sumzero(T* item, int counter);
};
файл main.cpp
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>
#include <locale>
#include <ctime>
#include "temp.h"
using namespace std;
 
#define n 50
 
int main()
{
 
    setlocale(LC_ALL,"rus");
    srand(time(NULL));
 
    int array_a[n];
    int sum = 0;
    int fst_null = 0;
    int sec_null = 0;
    
    cout<<"Исходный массив:\n"<<endl;
    for(int i = 0; i < n; i++){
        array_a[i] = rand()%9-4;
        cout<<" "<<array_a[i];
    };
    
    
    cout<<"\n";
 
    
 
    
 
    cout<<"\n";
    system("pause");
    return 0;
}
файл function.cpp
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
#include <iostream>
#include "temp.h"
using namespace std;
 
template<class T> 
void functions<T>::sort(T* arr, int counter)
{
    int buf;
    for(int i = 0; i < counter; i++)
    {
        if(arr[i] >= 0)
        {
            buf = arr[i];
            for(int j = i; j > 0; j--){
                arr[j] = arr[j-1];
            }
            arr[0] = buf;
        }
    }
};
template<class T> 
void functions<T>::sumzero(T* arr, int counter)
{
    for(int i = 0; i < counter; i++){
        if(arr[i] == 0){
            fst_null = i;
            break;
        }
    }
 
    for(int i = counter-1; i >=0; i--){
        if(arr[i] == 0){
            sec_null = i;
            break;
        }
    }
 
    for(int i = fst_null+1; i < sec_null; i++){
        sum += arr[i];
    }
    cout<<"\nСумма: "<<sum<<"\n\n";
};
Ув. Форумчане, вопрос в том правильно ли явсе описал и как вызвать теперь в main функции из класса
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru