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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
#1

Не определен базовый класс - C++

12.09.2013, 16:31. Просмотров 581. Ответов 5
Метки нет (Все метки)

В проекте есть два проблемных класса:

C_Button:
C++
1
2
3
4
#include "C_Scenes.h"
class C_Button: protected C_Scenes {
   //...
}
C_Scene:
C++
1
2
3
4
5
#include "C_Button.h"
class C_Scenes {
  protected:
      SDL_Event o_event_1;
};
Выдает ошибку:
error C2504: C_Scenes: не определен базовый класс

Как можно ее исправить, не переделывая полностью архитектуру?
Миниатюры
Не определен базовый класс  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.09.2013, 16:31     Не определен базовый класс
Посмотрите здесь:

Не определен базовый класс - C++
Есть файл renderable.h: #pragma once #include "device.h" #include "mesh.h" class IRenderDevice; class...

Не определен базовый класс - C++
Есть класс C_Button, в нем определен метод buttonEvents(). Этому методу необходим метод класса C_Scenes: sceneDraw_2(). Если в C_Button...

Не определен базовый класс - C++
Доброго времени суток. Столкнулся с проблемой при наследовании, и не могу разобраться, как решить. Есть базовый класс SPoint и два...

error C2504: CMove: не определен базовый класс - C++
Подскажите, пожалуйста, почему может возникать данная ошибка? Файл CBattle.h #include "CMove.h" class CPlayer : public CMove { //...

typeid определяет тип указателя на базовый класс, как тип "базовый класс". Вне зависимости от присвоенного ему значения - C++
Вот код: #include <iostream> #include <string> #include <conio.h> #include <windows.h> #include <typeinfo> using...

Класс: как обратиться к методу производного класса через итератор на базовый класс? - C++
Есть абстрактный и два порожденных. Хочу создать например list<Base*> list1; затем добавляю себе в список: ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,451
Завершенные тесты: 3
12.09.2013, 16:33     Не определен базовый класс #2
dimakozyr, зачем #include "C_Button.h" в C_scenes.h?
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,363
12.09.2013, 16:35     Не определен базовый класс #3
У тебя классы через #include ссылаются друг на друга. Возникает коллизия.
А действительно классу
C_Scenes нужно что-то знать про класс C_Button? Насколько обосновано #include "C_Button.h" в файле C_Scene?
dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
12.09.2013, 16:45  [ТС]     Не определен базовый класс #4
Цитата Сообщение от gray_fox Посмотреть сообщение
зачем #include "C_Button.h" в C_scenes.h?
Цитата Сообщение от CheshireCat Посмотреть сообщение
Насколько обосновано #include "C_Button.h" в файле C_Scene?
В C_Scene есть метод buttonEvents(), который используется в C_Button. Этому методу нужен экземпляр o_event_1, определенный в классе C_Scenes. Оба класса находятся в разных файлах.

Может, вынести объявление "SDL_Event o_event_1;" за пределы класса? Тогда можно будет обойтись без наследования, но будет глобальная переменная
gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,451
Завершенные тесты: 3
12.09.2013, 16:54     Не определен базовый класс #5
Цитата Сообщение от dimakozyr Посмотреть сообщение
В C_Scene есть метод buttonEvents(), который используется в C_Button. Этому методу нужен экземпляр o_event_1, определенный в классе C_Scenes. Оба класса находятся в разных файлах.
И зачем для этого этот include? Я не понял...

Добавлено через 4 минуты
В любом случае такая "схема" include-ов не взлетит. Можно сделать предварительное объявление C_Button перед определением C_Scenes, вот только зачем?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2013, 18:36     Не определен базовый класс
Еще ссылки по теме:

Создать базовый класс Car (машина) и производный класс Lorry (грузовик): ООП ошибки - C++
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка), числом цилиндров, мощностью. Определить методы переназначения...

Создать базовый класс Triad и производный класс vector3D - C++
Помогите пожалуйста с заданием. Часть кода(vector3D) сделал, вроде работает Нужно помочь с классом Triad. Вот полное задание: ...

Указатели в базовом классе на базовый класс и производный класс - C++
Пишу контейнер "Бинарное дерево поиска" для частотного словаря. С самим контейнером особо вопросов нету. Вопрос по поводу элементов в...

Наследование: базовый класс Квадрат, производный класс Пирамида - C++
Помогите, пожалуйста!:cry: Добавлено через 6 минут Создать класс КВАДРАТ, член класса- длинна стороны. Предусмотреть в классе методы...


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

Или воспользуйтесь поиском по форуму:
dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
12.09.2013, 18:36  [ТС]     Не определен базовый класс #6
Цитата Сообщение от gray_fox Посмотреть сообщение
И зачем для этого этот include? Я не понял...
Сорри, метод buttonEvents() определен в классе C_Button, а вызывается он из C_Scenes.
В то-же время в C_Scenes есть экземпляр "SDL_Event o_event_1;", которая нужна в C_Button.

В общем, решил проблему, определив "SDL_Event o_event_1;" еще раз в C_Button, это позволило убрать наследование и инклуды из этого класса
Yandex
Объявления
12.09.2013, 18:36     Не определен базовый класс
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru