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

Как програмно показать разницу между typename и class в шаблонных классах?

19.05.2015, 21:08. Показов 567. Ответов 10
Метки нет (Все метки)

Нужно програмно показать
в чем разница между typename и class в шаблонных класах(когда пишем тип параметра), помогите пожалуйста
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2015, 21:08
Ответы с готовыми решениями:

Показать разницу между строками как в Total Commander
Задача - сравнивать два очень похожих файла и построить HTML-отчет, в котором разница между файлами...

Как разделить определение и объявление в шаблонных классах?
Доброго! Как можно реализовать разделение на определение & объявление в шаблонных...

Показать разницу в днях между двумя датами в MonthCalendar
Всем добрый день! У меня такой вопрос: Я в Windows.Forms задаю два элемента MonthCalendar и что...

Наследование в шаблонных классах
Не хочет по-нормальному работать наследование в шаблонных классах. Доступ к protected переменной...

10
Don't worry, be happy
17758 / 10526 / 2030
Регистрация: 27.09.2012
Сообщений: 26,502
Записей в блоге: 1
19.05.2015, 21:15 2
Цитата Сообщение от Fenix1123581321 Посмотреть сообщение
в чем разница между typename и class в шаблонных класах
Никакой, они взаимозаменяемы. Хотя, если сам параметр является шаблоном, то только class
Цитата Сообщение от Fenix1123581321 Посмотреть сообщение
Нужно програмно показать
это как?

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
template <typename T> void foo() ;
 
int main()
{
    foo<int>() ;
}
 
template <class T> void foo() { std::cout << "foo" << std::endl ; }
0
3 / 3 / 0
Регистрация: 24.11.2014
Сообщений: 40
19.05.2015, 21:18  [ТС] 3
Croessmah, ну вот показать, блок кода, где обьязательно нужен class вместо typename или не скомпилирует.
0
Don't worry, be happy
17758 / 10526 / 2030
Регистрация: 27.09.2012
Сообщений: 26,502
Записей в блоге: 1
19.05.2015, 21:21 4
Цитата Сообщение от Fenix1123581321 Посмотреть сообщение
ну вот показать, блок кода, где обьязательно нужен class вместо typename или не скомпилирует.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
 
template <typename T>
class X
{
};
 
 
template< template <typename> class X > //А тут typename не прокатит вместо class
class Y
{
};
 
 
 
int main()
{
    Y < X > xy ;
}
0
3 / 3 / 0
Регистрация: 24.11.2014
Сообщений: 40
19.05.2015, 21:31  [ТС] 5
Croessmah,
Цитата Сообщение от Croessmah Посмотреть сообщение
template< template <typename> class X > //А тут typename не прокатит вместо class
class Y
{
};
а почему нету у typename им'я параметра, вот как, например typename T
0
Эксперт С++
4978 / 3085 / 456
Регистрация: 10.11.2010
Сообщений: 11,164
Записей в блоге: 10
19.05.2015, 21:39 6
Цитата Сообщение от Fenix1123581321 Посмотреть сообщение
ну вот показать, блок кода, где обьязательно нужен class вместо typename или не скомпилирует.
C++
1
2
3
4
typename A {
public:
    A() {}
};
Замени на class и всё заработает.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
19.05.2015, 22:09 7
Цитата Сообщение от castaway Посмотреть сообщение
Замени на class и всё заработает.
Цитата Сообщение от Fenix1123581321 Посмотреть сообщение
шаблонных класах(когда пишем тип параметра)
http://stackoverflow.com/quest... -templates
0
Эксперт С++
4978 / 3085 / 456
Регистрация: 10.11.2010
Сообщений: 11,164
Записей в блоге: 10
19.05.2015, 22:28 8
Tulosba, возможно я туплю под вечер, а может быть просто чего-то не знаю..., но
Цитата Сообщение от Fenix1123581321 Посмотреть сообщение
где обьязательно нужен class вместо typename или не скомпилирует.
? Я могу представить себе обратную ситуацию, но не эту.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
19.05.2015, 22:54 9
Цитата Сообщение от castaway Посмотреть сообщение
Я могу представить себе обратную ситуацию, но не эту.
Croessmah же привел пример. И по ссылке на stackoverflow подобное есть.
0
Don't worry, be happy
17758 / 10526 / 2030
Регистрация: 27.09.2012
Сообщений: 26,502
Записей в блоге: 1
19.05.2015, 23:09 10
Цитата Сообщение от Fenix1123581321 Посмотреть сообщение
а почему нету у typename им'я параметра, вот как, например typename T
оно и не нужно
0
castaway
20.05.2015, 06:30     Как програмно показать разницу между typename и class в шаблонных классах?
  #11

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Croessmah же привел пример. И по ссылке на stackoverflow подобное есть.
Пардон. Не заметил.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2015, 06:30

Параметр-выражение в шаблонных классах
Вопрос по поводу этой конструкции: template&lt;class T,int n&gt; Почему мы можем передавать...

Дружественные методы в шаблонных классах
template&lt;typename T&gt; class A { private: int a = 0; public: void func(A&lt;double&gt; second) { ...

Inline-функции в шаблонных классах
Стоит ли применять inline-функции для описания методов шаблонного класса?

Typename и Class
Между записью template &lt;class T&gt; и template &lt;typename T&gt; нет никакой разницы?


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

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

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