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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
xJokerUA
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 6
#1

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

05.05.2013, 20:48. Просмотров 382. Ответов 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)'
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2013, 20:48     Метод класса возвращает template type
Посмотрите здесь:

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

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

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

Конструкторы template класса - C++
задача собственно написать класс, который создает массив произвольного типа и хранит указатель на него(это в упрощенном варианте) - вроде...

Шаблон класса,ошибка TEMPLATE - C++
Вечер добрый,с таким вопросом. Задание: шаблон класса &quot;однонарпавленный линейный список&quot;. И использовать его при составлении программы,...

Не получается создать template для класса - C++
Здравствуйте, делаю все, как написано в Интернете, а у меня вылетает ошибка runtime - unresolved externals. Не могу создать правильно...

Компиляция класса вектор. Ошибка: missing template arguments before «v» - C++
Собственно код: #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;vector&gt; #include &lt;string&gt; using namespace std; int...

Не могу разделить template метод в .h и .cpp файлы - C++
Писал для проверки мини прогу, там все работает: class.h #pragma once #include &lt;Windows.h&gt; class Class { public: ...

Почему сын может спокойно работать с полями privat отцовского класса (опять template <class T> воду мутит!) - C++
Сабж class otets { public: otets (){}; private: int znach; }; template &lt;class T&gt; class sinn: public otets {

Метод не возвращает значение - C++
Здравствуйте. Создал простейший метод, для возвращения введённого значения. А возвращает то-адрес, то-ли что-то непонятно. Прошу объяснить...

Шаблон класса. Ошибка `missing type specifier` - C++
Вот код: template &lt;int value, typename type&gt; class Class { public: type Array; type Metod(type x); };

Функция возвращает двумерный статический массив своего класса - C++
Есть класс whirlpool: class whirlpool { public: int *buffer; int len; whirlpool(int length)


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
05.05.2013, 20:57     Метод класса возвращает template type #2
перегрузите какнить
xJokerUA
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 6
05.05.2013, 21:03  [ТС]     Метод класса возвращает template type #3
знать бы как
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
05.05.2013, 21:10     Метод класса возвращает template type #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();
}
xJokerUA
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 6
05.05.2013, 21:28  [ТС]     Метод класса возвращает template type #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;
}
нашел такие простенькие примеры. они работают без переопределения функий специально для каждого типа. пишет в книжке что шаблонная функия может определяться самостоятельно.
Yandex
Объявления
05.05.2013, 21:28     Метод класса возвращает template type
Ответ Создать тему
Опции темы

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