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

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

Войти
Регистрация
Восстановить пароль
 
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
#1

Не могу разобраться с шаблонным классом - C++

28.04.2013, 00:11. Просмотров 331. Ответов 2
Метки нет (Все метки)

Привет. Не могу разобраться в нижеизложенной ситуации.
Вопрос: почему такая конструкция не работает, и как заставить её работать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template <typename T> struct A {
    T * a;
    A( unsigned size ) : a( new T [size] ) {}
};
 
class B {
    A <char>    a;
    B() {}
};
 
int main()
{
    return 0;
}
Суть в том, что мне в классе B необходимо определить переменную класса A с определенным параметром шаблона.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2013, 00:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу разобраться с шаблонным классом (C++):

Не могу воспользоватсья шаблонным классом - C++
Не могу воспользоваться шаблонным классом, не понимаю, что не верно в коде #include &quot;iostream&quot; #include &quot;string&quot; #include &quot;list&quot; ...

Не работает typedef с шаблонным классом - C++
доброго времени суток форумчане есть функция с консольной менюшкой, в нее приходит аргумент, определяющий который тип использовать ...

Работа с шаблонным классом valarray - C++
Доброго времени суток, господа! для шаблонного класса valarray есть конструктор создания массива из n элементов со значениями v ...

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

Шаблонная функция с параметром - шаблонным классом - C++
Интересный вещи происходят... template &lt;class T&gt; struct S { typedef T *Pointer; }; template &lt;class T&gt; void Foo(T t,...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13155 / 7418 / 831
Регистрация: 27.09.2012
Сообщений: 18,255
Записей в блоге: 3
Завершенные тесты: 1
28.04.2013, 00:18 #2
у A нет конструктора по умолчанию.
Либо сделайте конструктор по умолчанию для A, либо используйте существующий в списке инициализации конструктора класса B
C++
1
B():a(0){}
Добавлено через 4 минуты
Как вариант, можно сделать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
template <typename T> struct A {
    T * a;
     A():a(NULL){};
    A( unsigned size ) : a( new T [size] ) {}
};
 
class B {
    A <char>    a;
     B();
    B(unsigned size):a(size){}
};
 
int main()
{
    return 0;
}
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
28.04.2013, 00:23  [ТС] #3
Да, именно так и надо. Благодарю!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2013, 00:23
Привет! Вот еще темы с ответами:

Не собирается проект с шаблонным классом (error LNK2019: unresolved external symbol): найти и исправить ошибки - C++
Доброго времени суток. Пытаю посмотреть как работает шаблонный класс. Вроде бы всё сделал правильно, но выскакивает такая ошибка: ...

Не собирается проект с шаблонным классом: "undefined reference" - C++
Подскажите пожалуйста, не собирается проект. Пишет &quot;undefined reference to Unit::Set()&quot; и такое же про Unit::Get(); Unit.h #ifndef...

Трабла с шаблонным классом "Геометрия" - C++
Есть файл &quot;geometry.cpp&quot;: #include &lt;vector&gt; #include &lt;cassert&gt; #include &lt;cmath&gt; #include &lt;iostream&gt; #include &quot;geometry.h&quot; ...

Помогите разобраться с классом (STUDENT). - C++
Всем привет недавно начал изучать классы и возникло несколько впопросов если не трудно помогите разобраться.(Я попробовал написать класс...


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

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

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