Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Из класса в класс-шаблон - C++

13.12.2011, 18:22. Просмотров 340. Ответов 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
24
25
26
27
28
29
30
31
32
33
class Bit_Indic {
    char indic[8];
public:
    Bit_Indic (char _one, char _two, char _three, char _four, char _five, char _six, char _seven, char _eight) {
        indic[0] = _one;
        indic[1] = _two;
        indic[2] = _three;
        indic[3] = _four;
        indic[4] = _five;
        indic[5] = _six;
        indic[6] = _seven;
        indic[7] = _eight;
    }
 
    void print ()  {
        if (on_off() == 0) cout << "0";
        else {
            for (int i = 0; i < 8; i++ ) {
                cout << indic[i] << " ";
            }
        }
        cout << endl;
    }
 
    int on_off () {
        int on = 0, off = 0;
        for (int i = 0; i < 8; i++) {
            if (indic[i] == '1') on++;
            else off++;
        }
        return (on >= off) ? 1 : 0;
    }
};
Как из него создать класс-шаблон?
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2011, 18:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Из класса в класс-шаблон (C++):

Класс шаблон и методы класса - C++
Есть такой класс-список прямо из учебника павловской: template &lt;class Data&gt; class List{ class Node{ Data d; Node *next; ...

Переделать класс на шаблон класса - C++
помогите реализовать этот код по функции template . не смог((( #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int...

Класс - ученик средней школы, шаблон класса - C++
Помогите справиться с этой задачей пожалуйста! Создать шаблон заданного класса. Определить конструкторы, деструкторы, перегруженную...

Шаблоны функций, Ошибка: для использования класса шаблон требуется список аргументов шаблон - C++
Есть у меня 3 структуры Трамвай , Троллейбус , Автобус. Для автобуса определены функции (работают) Троллейбус и Трамвай одинаковые поля...

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени? - C++
На самом деле ничё фантастического я не прошу, ведь: template &lt;class T&gt; class matrix { friend class diagonal; ...

Шаблон класса, параметром которого должны являться наследники определённого класса - C++
Сразу извиняюсь за нубский вопрос. Суть в том, что я хочу сделать шаблон класса, параметром которого должны являтся наследники...

5
lavan
53 / 53 / 1
Регистрация: 21.03.2009
Сообщений: 371
13.12.2011, 18:25 #2
C++
1
2
3
4
template<typename T>
class Bit_Indic {
T indic[8];
};
0
Capella
1 / 1 / 0
Регистрация: 18.06.2010
Сообщений: 17
13.12.2011, 18:47  [ТС] #3
А как тогда функции этого класса переделать?
0
lavan
53 / 53 / 1
Регистрация: 21.03.2009
Сообщений: 371
13.12.2011, 19:13 #4
поскольку вы их определяете в классе то никаких именений.а если определить вне класса то
C++
1
template<typename T>void SomeClass<T>::somefun(){...}
0
Capella
1 / 1 / 0
Регистрация: 18.06.2010
Сообщений: 17
13.12.2011, 19:30  [ТС] #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
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
54
55
56
57
58
59
60
#include <iostream>
#include <stdlib.h>
#include <windows.h>
using namespace std;
template <char T>
class Bit_Indic {
    T indic[8];
public:
    Bit_Indic (char _one, char _two, char _three, char _four, char _five, char _six, char _seven, char _eight) {
        indic[0] = _one;
        indic[1] = _two;
        indic[2] = _three;
        indic[3] = _four;
        indic[4] = _five;
        indic[5] = _six;
        indic[6] = _seven;
        indic[7] = _eight;
    }
 
    void bit_on (int _bit) {
        indic[_bit-1] = '1';
    }
 
    void bit_off (int _bit) {
        indic[_bit-1] = '0';
    }
 
    void print ()  {
        if (on_off() == 0) cout << "0";
        else {
            for (int i = 0; i < 8; i++ ) {
                cout << indic[i] << " ";
            }
        }
        cout << endl;
    }
 
    int on_off () {
        int on = 0, off = 0;
        for (int i = 0; i < 8; i++) {
            if (indic[i] == '1') on++;
            else off++;
        }
        return (on >= off) ? 1 : 0;
    }
};
 
int main ()
{
    SetConsoleCP (1251);
    SetConsoleOutputCP (1251);
    Bit_Indic Indic1 ('1', '1', '1', '1', '1', '0', '0', '0');
    Indic1.print();
    Indic1.bit_off(1);
    Indic1.print();
    Indic1.bit_off(2);
    Indic1.print();
    system("PAUSE");
    return 0;
}
Это весь код
0
Миниатюры
Из класса в класс-шаблон  
lavan
53 / 53 / 1
Регистрация: 21.03.2009
Сообщений: 371
13.12.2011, 19:40 #6
Выдает ошибки,потому что вы не знаете как пользоваться шаблонами!
C++
1
2
3
4
5
6
template<typename T>class A{};//здесь Т-это будет тот тип данных который вы передадите при
//создании шаблона
...
int main(){
A<int>obj;
}
И учтите что алгоритм работы метода должен соответсвовать типу данных который вы используете
1
13.12.2011, 19:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2011, 19:40
Привет! Вот еще темы с ответами:

Ошибка при компиляции:"C2955 "Tree": для использования класс шаблон требуется список аргументов шаблон" - C++
Есть класс бинарного дерева, в нем структура. Класс - Tree, структура - list(листик, а не список). При компиляции выдает...

Шаблон класса (параметризация класса) - C++
Нужна помощь и советы!!! Англо-русский словарь построен как список. Каждая компонента содержит английское слово, соответствующее...

Создать шаблон некоторого класса, возможно, реализованного с применением некоторого серверного класса - C++
Добрый день, Уважаемые профессионалы. Прошу помочь в решении задачи. Честно говоря, я ничего не понимаю. И вот...решил...

Создать класс CheckerBoard (особенности строения класса - инициализация константных членов класса) - C++
Вот код: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; const int xSize = 1; const int ySize = 1; class...


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

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

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