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

Определение чистой виртуальной функции класса-шаблона - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод параметров или переменных из функции http://www.cyberforum.ru/cpp-beginners/thread1227424.html
Здравствуйте. В Паскале можно вернуть несколько параметров. procedure(int i,j; var real hik, tik; var string tin, gak;); begin { hik,tik,tin,gak переменные вернутся} end; Но как...
C++ Regex_replace краши собственно есть набор строк поиска/замены. Не могу понять почему спотыкается на: искомая строка: ^(\)(\n)((.|\n)*?)(item=)(i_gold,) замена: %%%%% %%%%% Правила существенно обрезаны. Строка... http://www.cyberforum.ru/cpp-beginners/thread1227423.html
C++ Error C2059: Синтаксическая ошибка: тип
Вот отрывок кода, указывает, что ошибка на 5ой и 16ой строке, то есть функция min и max. ошибка: 1>c:\users\андрей\documents\visual studio 2010\projects\sb\sb\data.c(5): error C2059:...
Очистка динамической памяти в структуре C++
И снова здравствуйте. Столкнулся с проблемой. Есть задача - написать программу "Телефонный справочник" на основе класса Tree (бинарное дерево), реализовать там всякие функции, не суть важно какие....
C++ Функция, которая получает в качестве параметров два целых числа и возвращает сумму http://www.cyberforum.ru/cpp-beginners/thread1227378.html
Написать функцию, которая получает в качестве параметров два целых числа и возвращает сумму чисел из диапазона между ними Помогите:-| Буду очень благодарен.
C++ Функция рисует на экране треугольник, высота которого зависит от переданного значения параметра Написать функцию, которая принимает один параметер типа int - высоту. Данная функция рисует на экране треугольник, высота которого зависит от переданного значения параметра. Помогите,... подробнее

Показать сообщение отдельно
QGuest
8 / 8 / 0
Регистрация: 08.01.2013
Сообщений: 85

Определение чистой виртуальной функции класса-шаблона - C++

15.07.2014, 03:56. Просмотров 398. Ответов 5
Метки (Все метки)

Есть класс Comparable<T>:
C++
1
2
3
4
5
6
7
8
9
10
11
12
template<typename T>
class Comparable : virtual public Object {
public:
    virtual int compareTo(const T other) const = 0;
 
    virtual bool operator< (const T other) const final { return compareTo(other) <  0; }
    virtual bool operator> (const T other) const final { return compareTo(other) >  0; }
    virtual bool operator<=(const T other) const final { return compareTo(other) <= 0; }
    virtual bool operator>=(const T other) const final { return compareTo(other) >= 0; }
    virtual bool operator==(const T other) const final { return compareTo(other) == 0; }
    virtual bool operator!=(const T other) const final { return compareTo(other) != 0; }
};
И есть класс Time, который должен реализовать сравнения как и другими Time, так и с строками (char*):
C++
1
2
3
4
5
6
class Time, public Comparable<Time>, public Comparable<char*> {
    /**/
    virtual int compareTo(const Time other) const { /**/ }
    virtual int compareTo(const char* other) const { /**/ }
    /**/
};
Но компилятор ругается, что я не реализовал метод compareTo(const char* other), хотя это не так.
Кстати, за compareTo(const Time other) ничего не говорит, значит все нормально.
И в чем ошибка?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.