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

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

Восстановить пароль Регистрация
 
 
ARTLINE-NN
 Аватар для ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
23.05.2012, 00:36     Ошибка в классах #1
Пишет ошибку
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)
Вложения
Тип файла: rar Printers.rar (2.84 Мб, 17 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2012, 00:36     Ошибка в классах
Посмотрите здесь:

C++ Ошибка в классах
C++ наследование в классах
C++ Видимость в классах
наследование в классах C++
Ссылки в классах C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
23.05.2012, 02:21     Ошибка в классах #21
Метод Print не работает?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ARTLINE-NN
 Аватар для ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
23.05.2012, 02:25  [ТС]     Ошибка в классах #22
Ой, не то!
что надо писать в proect.cpp
после int main()
чтобы выводились на экран названия принтеров...
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 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();
}
ARTLINE-NN
 Аватар для ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
23.05.2012, 02:46  [ТС]     Ошибка в классах #24
Не, приложение сразу сбой даёт при запуске!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2012, 02:57     Ошибка в классах
Еще ссылки по теме:

C++ функции в классах
C++ Ошибка C2061 ( в классах)
C++ Ошибка в классах

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

Или воспользуйтесь поиском по форуму:
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
23.05.2012, 02:57     Ошибка в классах #25
Полный код приводите, иначе ничего не понятно, что есть, что хотите получить? У меня так работает:
http://liveworkspace.org/code/a94f02...027aeb3d2158e9
Yandex
Объявления
23.05.2012, 02:57     Ошибка в классах
Ответ Создать тему
Опции темы

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