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

Специализация шаблонного класа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Книга по C++, которую нельзя найти в интернете http://www.cyberforum.ru/cpp/thread271389.html
мой друг поехал в москву , хочу его попрасить купить мне там книгу по с++ только такую,которую можно найти только на продаже т.е. каторая не имеет доступа на скачивание в инете.кто знает,посоветуйте...
C++ Наследование в С++. Создать класс CFile, инкапсулирующий в себе такие функции работы с файлами, как Open, Close, Seek, Read, Write, GetPosition и GetLength. На базе этого класса создать производный класс CMyDataFile –... http://www.cyberforum.ru/cpp/thread271177.html
не выходит настроить С++ 2008 C++
Установил студию 2008 экспресс эдишин, создаю виндовс приложение. Вначале жаловалсь что нет библиотеки msvcr90d. Нашел ее кинул в систем32 и теперь выдает такое:
C++ Помогите выловить баг, сил моих больше нету(((
Программа глючит при добавлении больших структурированных каталогов, раньше думал, что ошибка выделения памяти, оказалось нет...Очень надо помощь спеца, СРОЧНО!!! Конструктор класса...
C++ mingw и лицензия http://www.cyberforum.ru/cpp/thread271048.html
Интересует следующий вопрос. Можно ли создавать ПО под лицензией, отличной от GPL (или с закрытым\частично закрытым кодом)? ПО собрано под windows, компилятор mingw (g++), библиотеки...
C++ Бесконечные циклы. Довольно часто допускаются ошибки приводящие к бесконечным циклам. Только что такой бесконечный цикл едва не вынудил прервать работу горячей перезагрузкой - компьютер завис почти намертво. Можно ли... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17931 / 6155 / 408
Регистрация: 30.03.2009
Сообщений: 16,905
Записей в блоге: 27
07.04.2011, 15:29
Цитата Сообщение от sergio1 Посмотреть сообщение
Каким образом можно написать специализацию шаблонного класса так, чтобы часть методов являлась специализированной, то есть писалась заново, а остальные методы - такие, какими бы они были если бы шаблонный клас был без специализации.
Всё можно и без геморроев. Специализацию нужно описывать для метода, а не для класса

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
#include <stdio.h>
 
template <class T>
class C
{
  public:
    void M1 (void) { printf ("template M1\n"); }
    void M2 (void) { printf ("template M2\n"); }
};
 
template <>
void C<int>::M2 (void)
{
  printf ("specialized M2\n");
}
 
int
main (void)
{
  C<char> c1;
  C<int> c2;
 
  c1.M1();
  c1.M2();
 
  c2.M1();
  c2.M2();
 
  return 0;
}
Выдаёт на исполнении

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