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

Выполнение чистых виртуальных функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ дали тест на паре, пару вопросов http://www.cyberforum.ru/cpp-beginners/thread369376.html
Тест по спп 1) typedef struct time {int hour; int minute: int second }Time: Time lesson Выбрать операторы, содержащие ошибки:
C++ Возможно ли сделать кастом окна и кнопки для программ на builder Насколько понимаю, есть WinAPI и куча библиотек - это то место откуда С++ генерирует окна (пользовательские формы / поля ввода / кнопки и т.п.). Т.е. чтобы сделать свою dll с шаблонами или как это обозвать нужно знать WinAPI и DLL??? Помогите плз с литературой по этому вопросу)) http://www.cyberforum.ru/cpp-beginners/thread369374.html
Найти значение выражения и написать программу ((AB)^T-cd)e C++
Найти значение выражения и написать программу ((AB)^T-cd)e, где А= 570x 2045 B= 230 070
C++ Определить, в введенном предложении слово, которое состоит из тех же букв, что и заданное ключевое слово.
Ввести предложения и ключевое слово. Определить, в введенном предложении слово, которое состоит из тех же букв, что и заданное ключевое слово. без понятия с чего начинать
C++ Парсинг кодировки в начальном теге xml http://www.cyberforum.ru/cpp-beginners/thread369334.html
Есть строка <?xml version="1.0" encoding="UTF-8"?>, <?xml version="1.0" encoding="ANSI-1251"?>, или любая другая, начинающаяся на <?xml. Нульсимвола после неё нет, но границы найдены (два указателя на символы "<" и ">"), найден указатель на пробел после "<?xml". Сравнивать строку с эталонами целиком как то не охота. Как ещё отсюда можно прочитать кодировку? Остальные возможные атрибуты хочу...
C++ матрица Ввести прямоугольную матрицу вещественных чисел. Исключить из матрицы строки, в которых чаще всего встречается комбинация отрицательного элемента по соседству с положительным. подробнее

Показать сообщение отдельно
bearwoolfs
 Аватар для bearwoolfs
15 / 15 / 2
Регистрация: 10.01.2011
Сообщений: 275
20.10.2011, 12:36  [ТС]     Выполнение чистых виртуальных функции
Цитата Сообщение от Виктор_Сен Посмотреть сообщение
Дело в том, что у тебя определён чисто виртуальный метод, чего быть не должно. То есть если ты пишешь
C++
1
virtual void Draw()=0;
, то вот такого быть не должно:
C++
1
2
3
4
5
void Circle::Draw()
{
        cout<<"Circle drawning routine here"<<endl;
        Shape::Draw();
}
на то он и чисто виртуальный. Так прокатит, если "=0" убрать. А если нет, то определять его можно только в дочернем классе.
Абсолютно нормально работает , абстрактный класс замещается в трех производных от него

вот маленький пример , тут все видно. ПО типу создания окна в Windows если кликаешь на дачернюю папку то он просто замещает ее.
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
31
32
33
34
35
36
37
38
#include <iostream>
using namespace std;
 
class Number
{
public:
    Number(){}
    virtual ~Number(){}
    virtual void Metod()=0;
private:
};
void Number::Metod()
{
    cout<<"Metod Number"<<endl;
}
class One:public Number
{
public:
    One(int A){}
    virtual~One(){}
    virtual void Metod();
private:
    int itsA;
};
void One::Metod()
{
    cout<<"Metod One"<<endl;
    Number::Metod();
}
 
int main()
{
    Number *pN;
    pN=new One(5);
    pN->Metod();
    delete pN;
return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от PointsEqual Посмотреть сообщение
не получится этот вариант. Наследуйся. Ведь не просто же так ты сделал класс абстрактным
Теперь все понятно , абстрактные методы не зря разместили в одном разделе с Наследованием))) Дошло хоть и с 30 раза . Спасибо
 
Текущее время: 02:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru