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

Шаблонные чистые виртуальные методы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Конструкция в условии http://www.cyberforum.ru/cpp-beginners/thread1138815.html
if(a==b==c==5) Такая конструкции будет работать без сбоев? А то компилятор делает предупреждение.
C++ Передача ofstream в функцию Здравствуйте. Подскажите, пожалуйста, как сделать из участка с 54 по 62 строку отдельную функцию (также с 64 по 73, с 75 по 85, с 87 по 96). Спасибо! using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); char word; http://www.cyberforum.ru/cpp-beginners/thread1138806.html
Определить номера символов в строках и сравнить их C++
Здравствуйте. Помогите, пожалуйста, опыта очень мало. Задача такова: в случаях, когда левая круглая скобка не закрылась в этой же строке, проверить присутствуют ли в исходном тексте не выровненные строки-продолжения, чтобы начаться в позиции символа сразу после левой круглой скобки. Код расположенный в цикле - это мое предположение как должна происходить проверка. char ch; char * pch,...
Високосный год C++
Трабл с кодом, ничего не могу понять. Посмотрите, пожалуйста. Вот, что выдает компилятор Line 7: error: multi-character character constant Line 8: error: multi-character character constant #include <stdio.h> using namespace std; int main()
C++ Считать строку с пробелами http://www.cyberforum.ru/cpp-beginners/thread1138764.html
Проблема такая пытаюсь передать строку в файле в переменную str, но все что идет после пробела не считывается как этого избежать ? #include <iostream> #include <fstream> #include <string> using namespace std; int main () { setlocale (0,""); string str;
C++ Неразбериха: как научиться читать программы Я в шоке, мне надо за неделю научиться читать программы типа этой и знать какой аутпут будет на экране, кто-то может мне в этом помочь? как это сделать, ребята? :( #include <iostream> #include <string> using namespace std; class B{ public: подробнее

Показать сообщение отдельно
DrOffset
6424 / 3798 / 879
Регистрация: 30.01.2014
Сообщений: 6,591
04.04.2014, 15:14     Шаблонные чистые виртуальные методы
Surgery, шаблонную функцию оставляешь в базовом классе. Делаешь виртуальный метод, например protected. Он реализует нужную работу в базовых для этой ситуации типах.
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
template <typename T, class = typename std::enable_if<std::is_integral<T>::value>::type>
class AbstractIntergal
{
public:
    typedef T value_type;
    value_type value;
    AbstractIntergal() : value(0) {}
 
    AbstractIntergal(value_type src) : value(src) { }
 
    template <class Chr, class Alloc>
    std::basic_string<Chr, std::char_traits<Chr>, Alloc> toString()
    {
        Chr buf[PossibleStringSize<T>::value + 1];
        if(size_t len = toStringInternal(buf, sizeof(buf)/sizeof(*buf))
        {
            return std::basic_string<Chr, std::char_traits<Chr>, Alloc>(buf, len);
        }
        return std::basic_string<Chr, std::char_traits<Chr>, Alloc>();
    }
 
protected:
    virtual size_t toStringInternal(char * buf, size_t len) = 0;
    virtual size_t toStringInternal(wchar_t * buf, size_t len) = 0;
};
Шаблон PossibleStringSize предлагаю самостоятельно
 
Текущее время: 05:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru