81 / 40 / 22
Регистрация: 03.05.2013
Сообщений: 713
1

Шаблон метода в классе

27.04.2015, 22:17. Показов 2167. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Скажите, не могу использовать метод в классе на основе шаблона. Не выходит.
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
class MYCLASS
{
public:
    MYCLASS();
    ~MYCLASS();
 
    int a;
 
    template <typename T>
    void abc(T* in);
 
private:
 
};
 
template <typename T>
void MYCLASS::abc(T* in){
    a = *in;
}
 
 
 
int main(){
 
MYCLASS myclass;
 
int asd = 123;
myclass.abc(&asd);
 
getchar();
};
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2015, 22:17
Ответы с готовыми решениями:

Шаблон в классе
Имеем три файла: №1 &quot;51Template.h&quot; #include &lt;iostream&gt; using namespace std; class A {...

Шаблон класса в классе
Есть список(кольцевой) который содержит узлы(Node). Список - шаблон Узел(Node) по идее тоже...

шаблон функции в нешаблонном классе
Возможно ли сделать не шаблонный класс, у которого одна или несколько функций-членов будут...

Создание метода в классе
Добрый день. Написал алгоритм чтения файла, в котором создаётся вектор объектов, но не получается...

8
13 / 13 / 12
Регистрация: 11.04.2015
Сообщений: 64
27.04.2015, 22:23 2
а так?
C++
1
myclass.abc<int>(&asd);
0
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
27.04.2015, 22:24 3
Цитата Сообщение от zasadadada Посмотреть сообщение
MYCLASS();
* * ~MYCLASS();
Нужно либо реализацию, либо пустое тело {}
И вобще не надо их вызывать если они ничего не делают.
1
81 / 40 / 22
Регистрация: 03.05.2013
Сообщений: 713
27.04.2015, 22:35  [ТС] 4
Шаблон можно использовать только в одном файле? Нельзя делить на h и cpp?
0
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
27.04.2015, 22:46 5
Цитата Сообщение от zasadadada Посмотреть сообщение
Шаблон можно использовать только в одном файле? Нельзя делить на h и cpp?
Нет, ну или у меня не получалось.
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
28.04.2015, 05:56 6
Так делить?

MyCPPFile.cpp
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
#include "MyHeadFile.h"
 
int main(){
   MyClass ObjA;
   ObjA.foo("12345");
}


MyHeadFile.h
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef MYHEADFILE_H_INCLUDED
#define MYHEADFILE_H_INCLUDED
#include <iostream>
 
class MyClass{
public:
    MyClass(){};
    ~MyClass(){};
    template <typename T>
    void foo(T x){ std::cout<<x<<"\n"; }
};
 
#endif // MYHEADFILE_H_INCLUDED
0
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
28.04.2015, 14:00 7
Цитата Сообщение от _Valera_ Посмотреть сообщение
Шаблон можно использовать только в одном файле?
определение и объявление шаблонов только в хидере
0
81 / 40 / 22
Регистрация: 03.05.2013
Сообщений: 713
28.04.2015, 14:56  [ТС] 8
Не получается сделать для конструктора класса
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class MyClass
{
public:
    int abc;
    template <typename T>
    MyClass::MyClass(T* _a);
    MyClass::~MyClass();
};
 
 
template <typename T>
MyClass::MyClass(T* _a){
    abc = *_a;
};
MyClass::~MyClass(){
 
};
 
int main(){
    int aaa = 123;
 
getchar();
};
0
18828 / 9831 / 2403
Регистрация: 30.01.2014
Сообщений: 17,267
28.04.2015, 17:15 9
zasadadada,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class MyClass
{
public:
    int abc;
    template <typename T>
    MyClass(T* _a); //<<- тут не надо писать MyClass::
    ~MyClass();     //<<- тут не надо писать MyClass::
};
 
template <typename T>
MyClass::MyClass(T* _a){
    abc = *_a;
} //<< - тут не надо писать ;
MyClass::~MyClass(){
 
} //<< - тут не надо писать ;
0
28.04.2015, 17:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2015, 17:15
Помогаю со студенческими работами здесь

Смещение метода в классе
Есть такой класс.class ICOMPONENT { public: // Property management: virtual CHAR...

В классе не видно метода
Доброго времени суток, реализация класса разбита на заголовочные файлы и исходники, но почему-то в...

Вызов метода в классе из другого
Не получается выполнить следующую цепочку действий. Запускаю метод в классе B через main, он...

Структура в классе (из метода увидеть переменную)
class Records { public: int Count; struct Param { public: ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru