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

Абстрактный базовый класс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Элементы массива вычислить отдельной функцией по формуле таблицы http://www.cyberforum.ru/cpp-beginners/thread739515.html
Помогите решить задачку.:) Значения элементов массива вычислить отдельной функцией по формуле таблицы. Полученный массив напечатать с помощью функции. Получить результат соответственно условии по использованию функции. Размер массива: 15
C++ Как получить хэндл при создании процесса? всем привет! пожалуйста, скажите как можно получить хэндл при создании процесса через CreateProces или ShellExecuteEx. FindWindow бесполезен, так как открывается несколько приложений с одинаковыми классами, а название заголовка не известно. SHELLEXECUTEINFO sei = { 0 }; sei.cbSize = sizeof(SHELLEXECUTEINFO); sei.fMask = SEE_MASK_NOCLOSEPROCESS; sei.hwnd = NULL; ... http://www.cyberforum.ru/cpp-beginners/thread739480.html
C++ Проблемы с циклом заполнения массива
Здравствуйте! Помагите пожалуйсто, вот у меня есть код с помощью которого можно заполнить список. cout << "\n Add new recourds \n"<< endl; clientData m; for(int i = 0; i < size; ++i) { cout << " Input account number: ";
C++ Дан массив действительных чисел. Найти сумму элементов с четными номерами и произведение элементов с нечетными номерами
Дан массив действительных чисел. Найти сумму элементов с четными номерами и произведение элементов с нечетными номерами.
C++ Перевести в инфиксную запись выражение http://www.cyberforum.ru/cpp-beginners/thread739465.html
Перевести в инфиксную запись выражение: x|y+4/5-* помогите пж как перевести?
C++ Напишите программу которая суммирует последовательность целых чисел. Напишите программу которая суммирует последовательноть целых чисел. Первое считываемое число определяет количество значений которое осталось ввести. Пример входной последовательности 5 100 200 300 400 500 Где 5 указывает что должны суммироваться последующие 5 значений подробнее

Показать сообщение отдельно
Buildog
40 / 40 / 2
Регистрация: 29.04.2012
Сообщений: 185

Абстрактный базовый класс - C++

20.12.2012, 11:58. Просмотров 1448. Ответов 3
Метки (Все метки)

У меня имеется свой некоторый класс, для которого переопределена куча операций, в том числе и операторы + - * /, преподаватель дал задание написать абстрактный базовый класс и наследоваться от него:
C++
1
2
3
4
5
6
7
8
class Object
{
public:
    Object(){ };
    virtual ~Object(){ };
    virtual int compare(const Object&)=0;
private:
};
Я решил сделать хотя бы функцию сравнения для начала, просто в классе моё сравнение определено так:
C++
1
2
3
4
5
6
7
8
9
10
int SOK::compare(const SOK &O)
{
    int n1 = Show(); 
    int n2 = O.Show();
    if(n1 > n2)
        return 1;
    if(n1 < n2)
        return -1;
    return 0;
}
Всё бы ничего, тут ошибок нету, но зато они появляются в другом месте, при объявлении/определении операторов:
C++
1
2
3
4
5
6
7
    SOK operator+(SOK &O);
SOK SOK::operator+(SOK &O)
{
    SOK Temp (O);
    Temp.Addition(*this);
    return Temp;
}
и ошибка звучит так "Использование функции, возвращающей абстрактный базовый класс "SOK" не допускается: чистая виртуальная функция Object::compare не имеет оператора переопределения"

Только начал изучать виртуальные функции и наследование, представление имею, но только на поверхности, подскажите, в чем дело и как использовать их правильно в таких случаях
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru