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

Создать класс! - C++

Восстановить пароль Регистрация
 
ARTLINE-NN
 Аватар для ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
15.05.2012, 22:44     Создать класс! #1
Создать класс для ПРИНТЕРОВ(можно для чего угодно: Автомобилей, Телефонов и т.д.).
Что нам надо:
Необходимо разработать иерархию классов. Базовые классы иерархии должны быть абстрактными.
В каждом классе иерархии нужно предусматривать:
-наличие не менее трех конструкторов
-визуальный диструктор
-перезагрузку операций. Обязательно перезагрузить операции: присваивания и декремента(в обеих формах), поместить в поток, взять из потока любую из бинарных и любую из унарных операций.
-виртуальные функции

Каждый класс иерархии должен быть описан в отдельном заголовочном файле, а его функции в .сpp файле с тем же именем.

Функция main должна работать с экземплярами производных классов, через указатели базового класса.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
15.05.2012, 22:48     Создать класс! #2
наработки есть?тут с нуля никто писать не будет
ARTLINE-NN
 Аватар для ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
15.05.2012, 22:52  [ТС]     Создать класс! #3
Если бы были наработки сам бы сделал, а так с нуля надо создать((
Почему и обратился к форумчанам))) Есть же добрые люди на планете! наверно...
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
15.05.2012, 22:55     Создать класс! #4
тут люди помогают а не делают за вас
ARTLINE-NN
 Аватар для ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
15.05.2012, 22:58  [ТС]     Создать класс! #5
Может найдётся хороший человек который сделает)
буду очень рад...:dance3:
ARTLINE-NN
 Аватар для ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
17.05.2012, 01:45  [ТС]     Создать класс! #6
Вот создал иерархию, посмотрите!? правильно ли?


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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#include <iostream>
#include <string.h>
 
 
using namespace std;
 
 
Class Matrix
{
Public:
Matrix ()
Matrix (char*marka, char*quality, int speed);
Matrix (const Matrix & r);
~Matrix ();
void Print () const;
Protected:
Char*marka;
int speed;
char*quality;
};
 
#include "Matrix.h"
 
Matrix :: Matrix () : quality (low), speed (30)
{
marka=new char [50];
strcpy (marka, "Epson, Canon, HP");
Matrix :: Matrix (char*marka, char*quality, int speed): quality (_quality), speed(_speed)
{
marka=new Str [strlen(_marka)+1];
strcpy(marka,_marka);
}
Matrix :: Matrix (const Matrix & r) : quality (r.quality), speed (r.speed)
{
marka=new char [strlen (r.marka) +1];
strcpy (marka, r.marka);
}
Matrix :: Matrix ()
{
delete[]marka;
}
void Matrix :: Print () const
{
cout << "Matrix printer" << endl;
cout << marka << endl;
cout << quality << endl;
cout << speed << endl;
}
#include "Matrix.h"
 
 
Class Str : public Matrix
{
Public:
Str();
Str (char*marka, char*quality, int speed, char*Smetod);
Str (const Str &r);
~Str ();
void Print () const;
Protected:
char*Smetod 
};
#include "Str.h"
Str :: Str () : Matrix()
{
Smetod = new char [10];
strcpy (Smetod, "Types  of ink");
}
Str :: Str (char*marka, char*quality, int speed, char*Smetod) : Matrix (marka, quality, speed, Smetod)
{
Smetod = new Str [strlen (_Smetod)+1];
strcpy (Smetod_ Smetod);
}
#include "Str.h"
Str :: Str (const Str & r) : Matrix(r)
{
    Smetod = new char [strlen (r. Smetod)+1];
strcpy (Smetod, r.Smetod);
}
Str :: ~Str ()
{
delete [] Smetod;
}
void Str :: Print () const
{
Matrix :: Print ();
cout << "Jet printer" << endl;
cout << Smetod << endl;
}
 
 
Class Laz : public Str
{
Public:
Laz ();
Laz (char*marka, char*quality, int speed, char*Smetod, char*tipmat);
Laz (const Laz &r);
~Laz ();
void Print () const;
Protected:
char*tipmat
};
#include "Str.h"
Str :: Str () : Matrix()
{
tipmat = new char [10];
strcpy (tipmat, "Appointment");
}
Str :: Str (char*marka, char*quality, int speed, char*tipmat) : Matrix (marka, quality, speed)
{
tipmat = new Str [strlen (_tipmat)+1];
strcpy(tipmat,_tipmat);
}
#include "Str.h"
Str :: Str (const Str & r) : Matrix(r)
{
tipmat = new char [strlen (r.tipmat)+1];
strcpy (tipmat, r.tipmat);
}
Str :: ~ Str ()
{
delete [] tipmat;
}
void Str :: Print () const
{
Matrix :: Print ();
cout << "Lazer printer" << endl;
cout << tipmat << endl;
}
 
 
 
 
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, "Rulon", "Suvenir";
lz.Print ();
Str*pp=& lz;
pp->Print();
return 0;
}
Yandex
Объявления
17.05.2012, 01:45     Создать класс!
Ответ Создать тему
Опции темы

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