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

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

Восстановить пароль Регистрация
 
Rashmash
2 / 2 / 0
Регистрация: 04.04.2011
Сообщений: 75
27.03.2012, 00:02     Ошибка компиляции array of abstract objects is not allowed #1
Здравствуйте, следующий код выдает ошибку 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++ Ошибка компиляции
C++ Ошибка: subscripted value is neither array nor pointer
литература shared objects & dynamic shared objects C++
C++ Ошибка компиляции
ошибка компиляции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 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
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 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
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 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++ Ошибка компиляции
Ошибка компиляции C++
Ошибка компиляции C++

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

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 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
Ответ Создать тему
Опции темы

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