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

Сравнение типов шаблонных классов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составьте блок-схему http://www.cyberforum.ru/cpp-beginners/thread957242.html
Составьте блок-схему к алгоритму решения следующей задачи: Цена на товар повысилась в июне на N1%, в июле на N2%, а в августе снова на N3%. Определить на сколько процентов по сравнению с начальной ценой изменилась цена за лето.
C++ Объявление внешней функции в namespace Собственно в файле 1 есть функция namespace Calculation { void Calc() {} } В файле 2: extern void Calculation::Calc(); ... Calculation::Calc(); http://www.cyberforum.ru/cpp-beginners/thread957233.html
C++ Комбинаторика и переборные алгоритмы
День добрый! Подскажите пожалуйста, как программно найти кол-во перестановок, размещений и сочетаний двух чисел, введенных с клавиатуры?
C++ Составить программу для вычисления решений системы неравенств
Для произвольных значений a,b вычислить решение системы неравенств. a/x>=b b*x<=0
C++ Шаблон функции поиска максимального элемента http://www.cyberforum.ru/cpp-beginners/thread957186.html
Шаблон функции поиска максимального элемента массива задается след.образом: template <typename T> T max(T *x, int len) { T max=x; for(int i=0;i<len; i++) if(max<x) max=x; return max; }
C++ Друзья, подскажите, как в классе создать константное поле, ссылочное поле и объектное поле? Препод на защите лабораторной по классам дал задание большое. В общем-то все пункты я знаю как делать, кроме этого. Вот что такое константное поле и как его задать я знаю (const int a например). А что за ссылочное и объектное поле? Ссылочное - это указатель просто объявить что ли или что? На что должно ссылаться оно? С++ по книге Павловской учу (на более объемную книгу времени не хватает у... подробнее

Показать сообщение отдельно
DiffEreD
1429 / 766 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
18.09.2013, 21:15     Сравнение типов шаблонных классов
Я бы сделал как посоветовал I.M. - через наследование:
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
#include <iostream>
#include <string>
#include <type_traits>
 
struct Base {};
 
template<typename T, typename U>
struct A : Base {};
 
template<typename T, typename U>
struct B {};
 
int main()
{
   A<double, int> a;
   A<std::string, int> b;
   B<std::string, int> c;
 
   std::cout << std::boolalpha;
   std::cout << std::is_base_of<Base, decltype(a)>::value << std::endl;
   std::cout << std::is_base_of<Base, decltype(b)>::value << std::endl;
   std::cout << std::is_base_of<Base, decltype(c)>::value << std::endl;
 
   std::cout << "\nDone." << std::endl;
   return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru