Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
#1

Ошибка в классах - C++

23.05.2012, 00:36. Просмотров 980. Ответов 24
Метки нет (Все метки)

Пишет ошибку
error C2259: Matrix: невозможно создать экземпляр абстрактного класса

Что это значит?

выкладываю код в котором происходит ошибка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "Printers.h"
#include <iostream>
#include <string.h>
#include "Matrix.h"
#include "Str.h"
#include "Laz.h"
using namespace std;
 
Printers::Printers(void)
{
int i, j;
Printers *p[3];
p[1] = new Matrix ("Seiko", "low", 40);
p[2] = new Str ("BJ-80", "medium", 60, "Termo");
p[3] = new Laz ("LaserJet", "high", 72, "Piezoelectric", "Suvenir");
for (int i = 0; j<3; i++)
p[i]->Print();
cout <<p[i]->marka();
cout <<p[i]->speed();
cout <<p[i]->quality();
cout <<p[i]->Smetod();
cout <<p[i]->tipmat();
}
Иерархия такая:

Принтеры (Базовый класс для каждого из подтипов):
>Матричный - Струйный – Лазерный.
>У Матричного будет марка(marka), скорость печати(speed), качество печати(quality).
>У Струйного добавляется: Способ распыления красителя(Smetod) - Термический(Termo)
>У Лазерного добавляется: По типу печатаемого материала(tipmat) - Рулонный(Rulon)
0
Вложения
Тип файла: rar Printers.rar (2.84 Мб, 17 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2012, 00:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в классах (C++):

Ошибка в классах - C++
Добрый день! Мне необходимо разбить 1 класс на 2: базовый и производный! Я вроде сделал, но вылезает ошибка, что нехватает фигурной...

Ошибка в классах - C++
Подскажите что нужно сделать, что бы конструктор видел класс Cex(Цех) Перепишите текст программы и сообщений об ошибках непосредственно в...

Ошибка C2061 ( в классах) - C++
Помогите, пожалуйста, исправить ошибку: в .cpp файле подключен Desk.h , но функция не хочет принимать переменную типа Desk (в Entity.h ) ...

Определить, какие из этих имен встречаются во всех классах, какие есть хотя бы в двух классах, и какие - только в одном классе - C++
Для каждого из четырех классов указаны имена девочек, обучающихся в них. Определить, какие из этих имен встречаются во всех классах, какие...

Функции в классах С++ - C++
Здравствуйте. Уже который час бьюсь над решением проблемы, связанной с классами в C++. Надо написать программу, которая бы складывала...

наследование в классах - C++
всем доброго времени суток ! нужно создать виртуальную функцию для заполнения класса данными и печать данных на экран и переопределить...

24
ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
23.05.2012, 02:07  [ТС] #16
в файле printers.cpp вот такое можно сделать:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <string.h>
#include "printers.h"
#include "Matrix.h"
#include "Str.h"
#include "Laz.h"
using namespace std;
 
int main()
{
 
Matrix mx ("Seiko", "low", 40);
mx.Print ();
Str sr ("BJ-80", "medium", 60, "Termo");
sr.Print ();
Matrix *p = &sr;
p->Print();
Laz lz ("LaserJet", "high", 72, "Piezoelectric", "Suvenir");
lz.Print ();
Str*pp= &lz;
pp->Print();
return 0;
 
}
0
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
23.05.2012, 02:13 #17
Ладно, проехали)
0
ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
23.05.2012, 02:16  [ТС] #18
Что написать в мейне чтобы выводились на экран эти записи?
0
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
23.05.2012, 02:18 #19
Какие "эти" записи?
0
ARTLINE-NN
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
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
23.05.2012, 02:21 #21
Метод Print не работает?
0
ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
23.05.2012, 02:25  [ТС] #22
Ой, не то!
что надо писать в proect.cpp
после int main()
чтобы выводились на экран названия принтеров...
0
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
23.05.2012, 02:39 #23
Попробую угадать:
C++
1
2
3
4
5
6
7
8
9
#include <memory>
 
#include "Matrix.h"
 
 
int main() {
    std::auto_ptr<Printers> printer(new Matrix("blahblahblah", "awesome quality", 100500));
    printer->Print();
}
0
ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
23.05.2012, 02:46  [ТС] #24
Не, приложение сразу сбой даёт при запуске!
0
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
23.05.2012, 02:57 #25
Полный код приводите, иначе ничего не понятно, что есть, что хотите получить? У меня так работает:
http://liveworkspace.org/code/a94f0202b17a5bbd29027aeb3d2158e9
0
23.05.2012, 02:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2012, 02:57
Привет! Вот еще темы с ответами:

Fstream в классах - C++
Проблема заключается в том, что я не могу использовать fsream в классе, ибо выдаёт ошибку. Код и текст ошибки ниже. Помогите пожалуйста (мб...

Наследование в классах - C++
Уважаемые пожскажите по теме Есть класс Автомобиль (например ВАЗ 2114) и класс ТО_Автомобиля (например ТО1 и ТО2) как должно...

Protected в классах - C++
#include &lt;iostream&gt; using namespace std; class TPoint{ protected: int x,y; TPoint *t; ...

программа в классах - C++
помогите пожалуйста сделать программу в классах построить описание класса содежащего информацию о почтовом адресе организации....


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Опции темы

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