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

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

Войти
Регистрация
Восстановить пароль
 
Rashmash
2 / 2 / 0
Регистрация: 04.04.2011
Сообщений: 75
#1

Ошибка компиляции array of abstract objects is not allowed - C++

27.03.2012, 00:02. Просмотров 679. Ответов 6
Метки нет (Все метки)

Здравствуйте, следующий код выдает ошибку array of array of abstract class "tochka" is not allowed
C++
1
tochka pole[4]// tochka - class наследовуемый от базового класса RisujObject
Скажите пожалуйста с чем связана может быть ошибка? Код слишком большой и непонятный чтобы выкладывать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2012, 00:02     Ошибка компиляции array of abstract objects is not allowed
Посмотрите здесь:

C++ Ошибка: subscripted value is neither array nor pointer
литература shared objects & dynamic shared objects C++
C++ С++ Ошибка компиляции
C++ Ошибка компиляции
C++ Ошибка компиляции
Ошибка компиляции C++
Ошибка: declaration is not allowed here в int key C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6548 / 3968 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
27.03.2012, 00:13     Ошибка компиляции array of abstract objects is not allowed #2
в классе точки забыли переопределить чисто виртуальные методы
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
27.03.2012, 00:14     Ошибка компиляции array of abstract objects is not allowed #3
Есть ли в классе точка хоть один чисто виртуальный метод?
Rashmash
2 / 2 / 0
Регистрация: 04.04.2011
Сообщений: 75
27.03.2012, 00:55  [ТС]     Ошибка компиляции array of abstract objects is not allowed #4
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Есть ли в классе точка хоть один чисто виртуальный метод?
вроде переопределил один виртуальный метод. В Базовом классе RisujObjekt есть виртуальный метод:
C++
1
2
3
4
5
virtual CGI::GrafikType typ () const = 0; //В наследуемом классе Tochka переопределение:
CGI::GrafickyTyp typ () const
    {
      return CGI::tochka;//enum GrafikType {tochka, treugolnik, kvadrat, liniya}
    }
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
27.03.2012, 01:12     Ошибка компиляции array of abstract objects is not allowed #5
Цитата Сообщение от Rashmash Посмотреть сообщение
вроде переопределил один виртуальный метод. В Базовом классе RisujObjekt есть виртуальный метод:
C++
1
2
3
4
5
virtual CGI::GrafikType typ () const = 0; //В наследуемом классе Tochka переопределение:
CGI::GrafikType typ () const
    {
      return CGI::tochka;//enum GrafikType {tochka, treugolnik, kvadrat, liniya}
    }
О ужас! Пожалуйста, не используй термины, если ты их не понимаешь.
Чисто виртуальный метод у тебя имеет право быть только в базовом классе!
C++
1
virtual CGI::GrafikType typ () const = 0; //В наследуемом классе Tochka переопределение:
Объявив его чисто виртуальным, ты не имеешь право создавать его реализацию
C++
1
2
3
4
CGI::GrafickyTyp typ () const//УДАЛИ ЭТО ВСЁ!!!
    {//!!
      return CGI::tochka;//А ЭТО СОЖГИ, ЧТОБ МОИ  ГЛАЗА ЭТО НЕ ВИДЕЛИ
    }//!!
Но при этом ты обязан переопределить этот метод в производном классе.
Rashmash
2 / 2 / 0
Регистрация: 04.04.2011
Сообщений: 75
27.03.2012, 01:15  [ТС]     Ошибка компиляции array of abstract objects is not allowed #6
Изивини, никто не идеален в чем ошибка то?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2012, 01:30     Ошибка компиляции array of abstract objects is not allowed
Еще ссылки по теме:

C++ Ошибка "range-based 'for' loops are not allowed in c++ mode"
C++ Двумерный массив <array>. const int value = array.size(); value не константа?
Присвоить значения переменных в массив Array (class Array в Turbo C++) C++
C++ Ошибка компиляции
C++ Ошибка char-array initialized from wide string

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

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
27.03.2012, 01:30     Ошибка компиляции array of abstract objects is not allowed #7
Цитата Сообщение от Rashmash Посмотреть сообщение
Изивини, никто не идеален в чем ошибка то?
Ёлки!
Ошибка в том, Что если у тебя хоть один метод в классе tochka объявлен
virtual CGI::GrafikType typ () const = 0;
То ты не имеешь никакого права сознавать ни одного экземпляра объекта этого класса,
а тем более их массив
Yandex
Объявления
27.03.2012, 01:30     Ошибка компиляции array of abstract objects is not allowed
Ответ Создать тему
Опции темы

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