1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
|
||||||
1 | ||||||
Ошибка в классах23.05.2012, 00:36. Показов 1600. Ответов 24
Метки нет (Все метки)
Пишет ошибку
error C2259: Matrix: невозможно создать экземпляр абстрактного класса Что это значит? выкладываю код в котором происходит ошибка:
Принтеры (Базовый класс для каждого из подтипов): >Матричный - Струйный – Лазерный. >У Матричного будет марка(marka), скорость печати(speed), качество печати(quality). >У Струйного добавляется: Способ распыления красителя(Smetod) - Термический(Termo) >У Лазерного добавляется: По типу печатаемого материала(tipmat) - Рулонный(Rulon)
0
|
23.05.2012, 00:36 | |
Ответы с готовыми решениями:
24
Ошибка в классах Ошибка в классах Ошибка C2061 ( в классах) Enum в классах, выдается ошибка: Object required. |
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
23.05.2012, 00:46 | 2 |
неплохо было бы еще сюда ошибки запостить с номерами строк. это если ошибки компиляции. если же у вас ошибка во время выполнения, то это из-за выхода за пределы массива. индексирование в массивах начинается с нуля, а не с еденици. поэтому запись p[3] - это обращение к четвертому элементу, а массив всего из трех.
error C2259: Matrix: невозможно создать экземпляр абстрактного класса это из-за того, что не реализована одна из чисто виртуальных функций класса Matrix. проверте корректность сигнатур. возможно в производном классе просто забыли const к функциям добавить. ну или какую-то из функций просто не реализовали.
1
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
23.05.2012, 00:49 | 3 |
Это значит, что Matrix абстрактный класс, экземпляры таких классов создавать нельзя. Реализуйте все чисто виртуальные наследуемые методы в Matrix, и он не будет абстрактным.
1
|
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
|
|||||||||||
23.05.2012, 01:00 [ТС] | 4 | ||||||||||
Вы правы, не увидел этого)
хотя не в этом ошибка компиляции складывалась... Вот сам class Matrix
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
23.05.2012, 01:01 | 5 |
printers.h как выглядит?
upd: приложение не сразу заметил. У Printers 6 чисто виртуальных функций, а в Matrix реализована только одна (Print). реализуйте все остальные.
1
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
||||||
23.05.2012, 01:02 | 6 | |||||
а вот базовый:
0
|
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
|
|
23.05.2012, 01:05 [ТС] | 7 |
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
23.05.2012, 01:07 | 8 |
1
|
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
|
|
23.05.2012, 01:09 [ТС] | 9 |
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
23.05.2012, 01:10 | 10 |
Быстрый вариант: написать в Matrix для них пустые тела (т.е. при вызове они ничего не будут делать).
1
|
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
|
|
23.05.2012, 01:26 [ТС] | 11 |
Я примерно понимаю что нужно делать, но у меня ошибок ещё больше выдаёт(
помоги с созданием класса matrix? Добавлено через 7 минут Очень нужно, помогите?(
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|||||||||||
23.05.2012, 01:34 | 12 | ||||||||||
Header:
1
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
23.05.2012, 01:34 | 13 |
да там миллион проблем. в самом Matrix есть члены у которых имена такие же, как у чисто виртуальных функций. имена должны отличатся. чисто виртуальные функции должны бить реализованы. потом, эти функции возвращают неконстантные указатели на char, хотя сами функции константные. если мемберы переименовать и их возвращать в этих функциях, то будут ошибки компиляции. из константной функции возвращается неконстантный указатель на мембер. ну может так еще что-то есть. спать пора.
вот кстати в посте выше. строка 2 из спп файла не скомпилится. тут нужно константные чары возвращать. ну или если по быстрому, сделать marka_ mutable переменной.
1
|
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
|
|
23.05.2012, 02:02 [ТС] | 14 |
А что в int main прописать в printers.cpp??
Добавлено через 4 минуты gray_fox, Большое спасибо! всё пошло...:dance3:
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
23.05.2012, 02:03 | 15 |
непонял, что там main делает. Вот так по крайней мере скомпилируется, но вообще лучше так не писать:
http://liveworkspace.org/code/... 2ef2ee0502
1
|
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
|
||||||
23.05.2012, 02:07 [ТС] | 16 | |||||
в файле printers.cpp вот такое можно сделать:
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
23.05.2012, 02:13 | 17 |
Ладно, проехали)
0
|
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
|
|
23.05.2012, 02:16 [ТС] | 18 |
Что написать в мейне чтобы выводились на экран эти записи?
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
23.05.2012, 02:18 | 19 |
Какие "эти" записи?
0
|
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
|
|
23.05.2012, 02:20 [ТС] | 20 |
ну название принтеров...
"Seiko", "low", 40 "BJ-80", "medium", 60, "Termo" "LaserJet", "high", 72, "Piezoelectric", "Suvenir"
0
|
23.05.2012, 02:20 | |
23.05.2012, 02:20 | |
Помогаю со студенческими работами здесь
20
Определить какие из имён встречаются во всех классах, только в некоторых классах, не встречаются ни в одном Вызов методов в классах, ошибка: variable type 'Sequin' is an abstract class Определить, какие из этих имен встречаются во всех классах, какие есть хотя бы в двух классах, и какие - только в одном классе Заданы имена девочек. Определить, какие встречаются во всех классах, которые есть только в некоторых классах и какие не встречаются какие из этих имен встречаются во всех классах данной параллели которые есть только в некоторых классах и какие из этих имен не встречаются ни в одном Нумерация в классах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |