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

Можно ли вызвать определенную переменную с шаблона - C++

Восстановить пароль Регистрация
 
MAQSA
2 / 2 / 0
Регистрация: 18.04.2010
Сообщений: 119
24.05.2010, 15:58     Можно ли вызвать определенную переменную с шаблона #1
Можно ли вызвать определенную переменную с шаблона , в реализации??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2010, 15:58     Можно ли вызвать определенную переменную с шаблона
Посмотрите здесь:

C++ можно ли в с++ вызвать переменную из одной функции в другую т.е. мы переменну задали в одной функции а использовали в другой... и как это реализовать?
C++ подскажи что можно сделать? присоздании шаблона выдает ошибки
Как можно вызвать стандартное окно для выбора папок? C++
Можно ли так вызвать метод? C++
можно ли сделать так, чтобы я ввел определенную команду и программа по ней воспроизводила определенный mp3 (или другой формат) файл? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
24.05.2010, 16:11     Можно ли вызвать определенную переменную с шаблона #2
шаблона чего? пример бы не помешал
MAQSA
2 / 2 / 0
Регистрация: 18.04.2010
Сообщений: 119
24.05.2010, 20:36  [ТС]     Можно ли вызвать определенную переменную с шаблона #3
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
template<class type> void sortV(type *b,long n) {
type a,i,j;
float c;
 for (i=0;i<n;i++)
 for(j=i+1;j<n;j++)
     {  if (b[i] >b[j])
    {   c++;
        a= b[i];
        b[i]=b[j];
        b[j]=a;
    }
    }
    cout<<endl<<"KilkisTb perestanovok =>["<<c<<"]"<<endl;
    }
 
template <class type>void sortB(type *b,long n)
{
type a,j,i;
float c;
 for(i=0;i<n-1;i++)
 for( j=n-1; j>i; j--)
       { if(b[j-1] > b[j])
     {c++;
    a= b[j-1];
    b[j-1]=b[j];
    b[j]=a;
}
}
cout<<endl<<"KilkisTb perestanovok =>["<<c<<"]"<<endl;
}
Мне нужно в реализации, сравнить переменную "с" сортировки вставки, и пузырька, для того, что бы узнать какой метод лучший.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
24.05.2010, 21:03     Можно ли вызвать определенную переменную с шаблона #4
ну так... возвращайте ее.
C++
1
2
3
4
5
6
7
8
template<class type> 
float sortV(type *b,long n) 
{
   float c = 0;
   // some code
 
   return c;
}
Только тогда уж сделайте ее целого типа, зачем там float нужен непонятно
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
24.05.2010, 21:07     Можно ли вызвать определенную переменную с шаблона #5
в данном отношении шаблон не отличается от простой функции
"с" можно просто вернуть
C++
1
2
3
4
5
6
template<class type> int sortV(type *b, long n) {
type a,i,j;
int c;
.....
return c;
}
Добавлено через 29 секунд
// опередили )
MAQSA
2 / 2 / 0
Регистрация: 18.04.2010
Сообщений: 119
24.05.2010, 21:33  [ТС]     Можно ли вызвать определенную переменную с шаблона #6
Кажется вы меня не поняли. Мне нужно сравнить что больше, "с" от сорт. выбору, и "с" от пузырька, сравнить в уже в драйвере
void main()
{
... тут.
}
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
24.05.2010, 21:36     Можно ли вызвать определенную переменную с шаблона #7
Кажется это вы ничего не понимаете

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int a() { 
   return 1; }
int b() { 
   return 2; }
 
int main()
{
   cout << a() << ' ' << b() << endl;
}
MAQSA
2 / 2 / 0
Регистрация: 18.04.2010
Сообщений: 119
24.05.2010, 21:52  [ТС]     Можно ли вызвать определенную переменную с шаблона #8
fasked, у меня шаблоны же.
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
template<class type> void sortV(type *b,long n) {
type a,i,j;
float c;
 for (i=0;i<n;i++)
 for(j=i+1;j<n;j++)
     {  if (b[i] >b[j])
        {   c++;
            a= b[i];
            b[i]=b[j];
            b[j]=a;
        }
        }
        cout<<endl<<"KilkisTb perestanovok =>["<<c<<"]"<<endl;
        }
 
template <class type>void sortB(type *b,long n)
{
type a,j,i;
float c;
 for(i=0;i<n-1;i++)
 for( j=n-1; j>i; j--)
       { if(b[j-1] > b[j])
         {c++;
        a= b[j-1];
        b[j-1]=b[j];
        b[j]=a;
}
}
cout<<endl<<"KilkisTb perestanovok =>["<<c<<"]"<<endl;
}
void main()
{
long n;
float *a;
cout<<sortB(a,n)<<' '<<sortV(a,n);
}
так просто же нельзя
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
24.05.2010, 21:55     Можно ли вызвать определенную переменную с шаблона #9
Цитата Сообщение от MAQSA Посмотреть сообщение
так просто же нельзя
еще как можно! вам же сказали, что шаблон в этом плане ничем не отличается от обычной функции

C++
1
2
3
4
5
6
7
8
9
10
11
template <typename T> int a(T * a)
{
   int c = 0;
   return c;
}
 
int main()
{
   int arr[3];
   cout << a(arr) << endl;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2010, 22:30     Можно ли вызвать определенную переменную с шаблона
Еще ссылки по теме:

Как можно сделать что бы в консольном окне можно было вызвать контекстное меню как в win cmd? C++
C++ Как можно явно вызвать оператор преобразования?
Составить программу, в которой можно ввести данные из предметной области и получить определенную информацию C++

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

Или воспользуйтесь поиском по форуму:
MAQSA
2 / 2 / 0
Регистрация: 18.04.2010
Сообщений: 119
25.05.2010, 22:30  [ТС]     Можно ли вызвать определенную переменную с шаблона #10
Ясно. Есть еще вопрос:

Добавлено через 21 час 1 минуту
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
emplate <class type>float sortV(type *b,long n)
{
type a,i,j;
float c;
 for (i=0;i<n;i++)
 for(j=i+1;j<n;j++)
     {  if (b[i] >b[j])
    {   c++;
        a= b[i];
        b[i]=b[j];
        b[j]=a;
    }
    }
    return c;
    }
template <class type>float sortB(type *b,long n)
{
type a,j,i;
float  c;
 for(i=0;i<n-1;i++)
 for( j=n-1; j>i; j--)
       { if(b[j-1] > b[j])
     { c++;
    a= b[j-1];
    b[j-1]=b[j];
    b[j]=a;
}
}
return c;
}
 
void main()
{float *el;
long n;
 
......
cout<<"Sort Bulb"<<endl;
cout<<endl<<"MACUB Do COPTyBAHH9"<<endl;
Print(el,n);//вывод массива на экран
cout<<endl<<"KilkisTb perestanovok="<<sortB(eq,n);//[B]вывод кол-во перестановок сорт. Пузырька[/B]
sortB(el,n);//сортировка
cout<<endl<<"Masuv pisla sort"<<endl;
Print(el,n);//вывод после сортировки
cout<<endl<<"Pokazatu sortyvan9 Vubory? (Y-yes\N-no)"<<endl<<"=>";
while((a!='n')&(a!='y'))
cin>>a;
if(a=='y')
{
cout<<"Kilkistb perestanovok ===Sort Vubory===> "<<sortV(eq,n);//[B]вывод кол-во перестановок ВЫБОРУ.[/B]
cout<<endl<<"BucHoBok: "<<endl;
}
....
}
Результат:
http://***********/F/s56.***********/i...457ff.jpg.html
Вывод кол-ва перестановок 2-м способом, выдает неверный результат. Возможно это из-за не верного определения типа счетчика "с" в шаблонах?

Добавлено через 23 минуты
подскажите хоть, как правильно сделать
Yandex
Объявления
25.05.2010, 22:30     Можно ли вызвать определенную переменную с шаблона
Ответ Создать тему
Опции темы

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