1 / 1 / 0
Регистрация: 18.06.2010
Сообщений: 17
1

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

13.12.2011, 18:22. Показов 1089. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2011, 18:22
Ответы с готовыми решениями:

Переделать класс на шаблон класса
помогите реализовать этот код по функции template . не смог((( #include &quot;stdafx.h&quot; #include...

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

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

Шаблон класс, и специализация класса
Доброго времени суток. Вопрос наверное легкий, но все относительно. Нужно создать свои классы...

5
53 / 53 / 8
Регистрация: 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
1 / 1 / 0
Регистрация: 18.06.2010
Сообщений: 17
13.12.2011, 18:47  [ТС] 3
А как тогда функции этого класса переделать?
0
53 / 53 / 8
Регистрация: 21.03.2009
Сообщений: 371
13.12.2011, 19:13 4
поскольку вы их определяете в классе то никаких именений.а если определить вне класса то
C++
1
template<typename T>void SomeClass<T>::somefun(){...}
0
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
53 / 53 / 8
Регистрация: 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2011, 19:40
Помогаю со студенческими работами здесь

Как увязать данные в класс или шаблон класса?
Вобщем есть x1 , x2 of double //массивы xx, yy: double; ...

Шаблон родительского класса и шаблон класса потомка
Запутался, как правильно пронаследоваться от шаблона класса? #include &lt;iostream&gt; #include...

3 класса. Родительский класс - класс животных. Два класса наследника: Гиппопотамы и Зебры. Выбор структуры данных
Добрый День. Есть задача. Есть 3 класса. Родительский класс - это класс животных. Он абстрактный и...

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

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

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


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

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

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