Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
15 / 15 / 2
Регистрация: 24.08.2010
Сообщений: 94
1

Указатель на виртуальный класс

28.08.2010, 22:49. Показов 3780. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Например у меня есть виртуальный класс Food и его нащадок Drink:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Food      
{
public:
    Food (int m) {Weight = m;};
    ~Food ();
    virtual int GetWeight() = 0;
protected:
    int Weight;
};
 
//Child class
class Drink: public Food
{
public:
    Drink (int v);
    virtual int GetWeight () {return Weight;};
private:
    int Capacity;
};
Почему нельзя в функции main обьявить указатели на виртуальный клас Food без инициализации (как в первой строке)? Если его сразу инициализовать тогда ошибки нет (как во второй строке):
C++
1
2
3
4
5
6
int main ()
{
    Food *Juice, Wodka;
        Food *Tea = new Drink (400);
        return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.08.2010, 22:49
Ответы с готовыми решениями:

Указатель на виртуальный метод
По мотивам какого-то вопроса тут возник вопрос, ответ на который я что-то не придумал. Как взять...

виртуальный табличный указатель
виртуальным табличным указателем vptr (указатель на таблицу виртуальных методов класса, которому...

Указатель на указатель, класс группа
помогите пожалуйста не могу понять что со строкой 312 знаю что с указателем что то не то......

Виртуальный абстрактный класс
Надеюсь мой вопрос будет не глупым. Есть класс исключений в пространстве имен std У него есть...

23
fasked
29.08.2010, 00:57     Указатель на виртуальный класс
  #21

Не по теме:

Цитата Сообщение от alex_x_x Посмотреть сообщение
те виртуальный, но не абстрактный?
как я понимаю, это оно
C++
1
2
3
4
5
6
7
8
9
10
11
class A
{
};
 
class B
{
};
 
class C : virtual public A, B
{
};

1
Евгений М.
29.08.2010, 00:58
  #22

Не по теме:

Я тоже это имел ввиду

0
alex_x_x
29.08.2010, 00:59
  #23

Не по теме:

век живи, век учись, пойду читать маны

0
15 / 15 / 2
Регистрация: 24.08.2010
Сообщений: 94
29.08.2010, 13:44  [ТС] 24
Цитата Сообщение от alex_x_x Посмотреть сообщение
дремучий у вас компилятор
Установил VS2008 (вроде 9.0) - все ОК. Всем спасибо за помощь!
0
29.08.2010, 13:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2010, 13:44
Помогаю со студенческими работами здесь

Виртуальный базовый класс
Создать иерархию типов, описывающую - человека, студента, отца семейства и студента-отца семейства....

Базовый виртуальный класс
Подскажите пожалуйста зачем нужен базовый виртуальный класс, если я могу в наследники описать все...

Виртуальный класс. Сигналы
#ifndef MODULE_H #define MODULE_H #include <QWidget> class Module : public QWidget { ...

Как преобразовать указатель на класс к указателю на асбтрактный класс?
Но тут есть одна тонкость- два промежуточных класса. Вот код, надеюсь всё из него понятно....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru