Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 6
1

Метод класса возвращает template type

05.05.2013, 20:48. Просмотров 734. Ответов 4
Метки нет (Все метки)

надо создать метод который возвращает значение privat переменных разных типов.

например я прикинул простинькую програмку:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class A{
int a;
string b;
public: A(){a=11;b="asd";};  
template<class aType> aType GetPrivat(int c){
if(c==0) return a; if(c==1)return b;};
};  
                            
main(){
A obj;
cout<<obj.GetPrivat(0);
getch();
}
конешно не скомпилировало: no matching function for call to `A::GetPrivat(int)'
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2013, 20:48
Ответы с готовыми решениями:

Как метод класса возвращает обьект, который является одним из полей данного класса?
Привет! Когда я пытался изменять объект который вернул мне метод класса, полем или свойством...

Как получить значение из метода класса, если метод возвращает указатель?
Всем привет. Как получить значение из метода класса, если метод возвращает указатель? Вот тут я...

Template non-type parameter
в чем моя проблема?..как я могу передать переменную кастомного типа?..) #include &lt;iostream&gt;...

Ошибка: 'StackIter' is not a template type
Не компилируется. C:\Qt\Qt5.3.2\Tools\QtCreator\bin\ex7\iterator.hpp:31: ошибка: 'StackIter' is not...

4
97 / 71 / 5
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
05.05.2013, 20:57 2
перегрузите какнить
0
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 6
05.05.2013, 21:03  [ТС] 3
знать бы как
0
97 / 71 / 5
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
05.05.2013, 21:10 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
class A
{
 
    int a;
    string b;
public:
    A()
    {
        a=11;
        b="asd";
    }
    int GetPrivat(int c)
    {
        if(c==0) return a;
    }
    string GetPrivat (double c)
    {
       if(c==1)return b;
    }
};
 
main()
{
    A obj;
    cout<<obj.GetPrivat((double)1);
    cin.get();
}
0
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 6
05.05.2013, 21:28  [ТС] 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
 
template <class T>
 
T GetMax (T a, T b) {
  T result;
  result = (a>b)? a : b;
 
  return (result);
}
 
int main () {
  int i=5, j=6, k;
  long l=10, m=5, n;
 
  k = GetMax< int >(i,j);
  n = GetMax< long >(l,m);
 
  cout << k << endl;
  cout << n << endl;
 
  return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream> 
#include <conio> 
using namespace std; 
 
template <class aType> aType myAbs(aType n)
{
return n < 0 ? -n : n;
}
int main()
{
cout << myAbs(-10) << endl; 
cout << myAbs(-10.0) << endl; 
cout << myAbs(-10L) << endl; 
cout << myAbs(-10.0F) << endl; 
getch(); return 0;
}
нашел такие простенькие примеры. они работают без переопределения функий специально для каждого типа. пишет в книжке что шаблонная функия может определяться самостоятельно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2013, 21:28

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Метод который возвращает имя своего класса.
Подскажите как реализовать метод, который будет возвращать имя своего класса, причем не в формате...

Переопределение ToString(). Метод по умолчанию не возвращает полное имя экземпляра класса
Добрый день. существует следующий код. Почему метод тустринг по умолчанию не возвращает полное имя...

Использование шаблонов при описании классов template<typename type>
mylist.h template&lt;typename T&gt; class MyList { public: MyList(); ~MyList(); void...

Ошибка Field templateEngine in MailComponent required a bean of type 'org.thymeleaf.Template
Делала контактную форму в Spring . Выводится такая ошибка: ield templateEngine in MailComponent...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.