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

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

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

Студворк — интернет-сервис помощи студентам
Например у меня есть виртуальный класс 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.08.2010, 22:49
Ответы с готовыми решениями:

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

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

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

23
29.08.2010, 00:57
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от 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

Не по теме:

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

0
29.08.2010, 00:59

Не по теме:

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

0
 Аватар для Chainyk
15 / 15 / 2
Регистрация: 24.08.2010
Сообщений: 94
29.08.2010, 13:44  [ТС]
Цитата Сообщение от alex_x_x Посмотреть сообщение
дремучий у вас компилятор
Установил VS2008 (вроде 9.0) - все ОК. Всем спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.08.2010, 13:44

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
BitTorrent (версия 7.11 English) и Меню Настройки
russiannick 15.11.2026
Пункты, отвечающие за отключение обновлений в BitTorrent версии 7. 11 (английской) Options Preferences General Language
Транслитерация текста с кириллицы на латиницу (вариант №4)
Maks 15.11.2026
Что-то я перемудрил с предыдущими версиями, в этот раз сделал всё проще, обратившись к функции "СтрокаЛатиницей" из типового общего модуля "СтроковыеФункцииКлиент". В данной функции нет апострофов,. . .
BitTorrent (версия 4.3.9) и Меню Настройки
russiannick 15.11.2026
В меню Настройки можно отключить автоматическое обновление программы. Карта этого меню приложена ниже. Нужный пункт выделен красным. Сервис Настройки Поведение
Транслитерация текста с кириллицы на латиницу (вариант №3)
Maks 15.11.2026
Обновленная версия предыдущей обработки. Изменения коснулись букв: Ъ, Ы, Ь, Э, отображения которых зависят от положения реквизита "Транслитерация имён". Изменено отображение буквы Й. Добавлена. . .
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru