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

Классы. Не понимаю условие - C++

Восстановить пароль Регистрация
 
DeniZz
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 10
04.05.2011, 21:29     Классы. Не понимаю условие #1
В консольном С++ шарю ну не плохо, но сами условия поставленых задач понять не могу. Помогите плз. Это лабы которые дает нам оочень СтРаннЫй препод по проге.

Множественное наследование.
1. Создать иерархию типов, что описывает операционную систему и прикладное програмное обеспечение, и Windows NT как операционную систему и прикладное програмное обеспечение. Классы должны иметь конструкторы, включая конструктор копирования, виртуальные деструкторы, перегруженные функции вывода в поток и ввода в поток.

Еденичное наследование.
2. Конструктор копирования и оператор присвоения
Создать клас строк и производный от него - клас строк из цифр. Определить конструкторы и деструкторы, переопределить ввод и вывод в поток. Перегрузить оператор присвоения и конструктор копирования в базовом и производном классе

Прошу, напишите ЭТО простыми словами.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
04.05.2011, 23:45     Классы. Не понимаю условие #2
если в с++ шарите не плохо то тут написано простыми словами
DeniZz
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 10
05.05.2011, 21:15  [ТС]     Классы. Не понимаю условие #3
так и шо ж оно должно делать. Вот зачем в одном конструктор копирования, виртуальные деструкторы(хотя я их уже влепил), а в другом - ну так напишите пожалуйста хотя б схематически что это должно быть?!
З.Ы. Непонимаю->нешарю...
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
05.05.2011, 21:40     Классы. Не понимаю условие #4
Раз уже "влепил" - текст в студию!
DeniZz
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 10
08.05.2011, 13:55  [ТС]     Классы. Не понимаю условие #5
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
#include  <iostream.h>
#include  <conio.h>
#include  <string.h>
//>>>>>>>>>>>>>>>>>>>Class Operation Sistem
class OS {
protected:
  unsigned int RAM;
  char nameOS[80];
 
  unsigned HAM;
  char *resourses;
 
  unsigned nR;
 
public:
  OS() {
    cout << "Enter OS name: ";
    cin >> nameOS;
    cout << "Separate RAM for OS: ";
    cin >> RAM;
    cout << "Separate HDD for OS: ";
    cin >> HAM;
    nR=-1;
  }
 
  OS(char *inameOS, int iRAM, int iHAM) {
    RAM=iRAM;
    HAM=iHAM;
    strcpy(nameOS,inameOS);
  }
 
  virtual ~OS() {}
  getRAM() { return RAM; }
  getHAM() { return HAM; }
 
};
 
//>>>>>>>>>>>>>>>>>>>>>>>Class Driver
class Driver {
protected:
  char nameD[80];
  char ability[80];
  unsigned RAMD;
  unsigned HAMD;
public:
  Driver(){
    cout << "Enter driver name: ";
    cin >> nameD;
    cout << "Set driver ability: ";
    cin >> ability;
    cout << "RAM nided for driver: ";
    cin >> RAMD;
    cout << "Hard space nided for driver: ";
    cin >> HAMD;
  }
 
  Driver(char *inameD,char *ch, int iRAMD, int iHAMD) {
    RAMD=iRAMD;
    HAMD=iHAMD;
    strcpy(ability,ch);
    strcpy(nameD,inameD);
    }
  virtual ~Driver() {}
 
  getRAMD() { return RAMD; }
  getHAMD() { return HAMD; }
 
 
};
 
//>>>>>>>>>>>>>>>>>>>>>>>>>>>Dother of OS and Driver classes - class WorkSpase
 
class WorkSpace : public OS, public Driver {
  unsigned RAMS,HAMS;
 
  public:
    int exfl();
    WorkSpace() {
     strcpy(resourses,ability);
     }
 
    WorkSpace(char *inameOS, int iRAM, int iHAM, char *inameD, char *ch, int iRAMD, int iHAMD) : OS(inameOS,iRAM,iHAM),
 
    Driver(inameD,ch,iRAMD,iHAMD)    {
     strcpy(resourses,ability);
     }
 
    friend ostream &operator<<(ostream &stream, WorkSpace obj);
 
};
 
 
//..........................Messege Function @Outof memory@
int WorkSpace::exfl() {
      if( (RAM<=RAMD)||(HAM<=HAMD) )
        {
        cout << "Memory is foll. Cant instal a driver.\n";
        return 1;
        }
      else return 0;
      }
//..........................Overloaded operator
 
ostream &operator << (ostream &stream, WorkSpace obj) {
  if (obj.exfl()==1) {
    stream<<"Out of memory.\n\n";
    return stream;
    }
  stream<<"OS name: "<<obj.nameOS<<"\n";
  stream<<"OS RAM : "<<obj.RAM<<"\n";
  stream<<"OS HDD : "<<obj.HAM<<"\n";
  stream<<"Driver name       : "<<obj.nameD<<"\n";
  stream<<"Driver ability    : "<<obj.resourses<<"\n";
  stream<<"Driver needed RAM : "<<obj.RAMD<<"\n";
  stream<<"Driver needed HDD : "<<obj.HAMD<<"\n";
  stream<<"Work Space RAM: "<<obj.RAM-obj.RAMD<<"\n";
  stream<<"Work Space HDD: "<<obj.HAM-obj.HAMD<<"\n\n";
  return stream;
  }
 
 
//^^^^^^^^^^^^^^^^^^^^^^^^^^MAIN PART
 
main()
{
clrscr();
WorkSpace A,B("MacOS", 512, 2000, "OpenGL", "GoodenWorkWithVideo", 16, 54);
 
cout<<A;
cout<<B;
  getch();
  return 0;
}
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
08.05.2011, 15:13     Классы. Не понимаю условие #6
В конструкторах без аргументов обычно не пишут ввод полей. Для этого перегружают операцию ввода operator>>
DeniZz
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 10
08.05.2011, 16:53  [ТС]     Классы. Не понимаю условие #7
Спасибо, да, это так. Но т.к. это лаба и препод шарит исключительно методические весчи то и делать нада так шоб угодить. Он хочет конст с параметрами...
Определи Конструкторы с методами, можишь не описывать, для второй части.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2011, 12:38     Классы. Не понимаю условие
Еще ссылки по теме:

Непонятна тема (Классы содержащие другие классы, как данные члены ) C++
Программа по классам, которая использует классы точек и прямых на плоскости, а, возможно, и другие классы C++
Классы и наследование (Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию вычисления объёма.) C++

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

Или воспользуйтесь поиском по форуму:
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
09.05.2011, 12:38     Классы. Не понимаю условие #8
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
В конструкторах без аргументов обычно не пишут ввод полей
почему?
Yandex
Объявления
09.05.2011, 12:38     Классы. Не понимаю условие
Ответ Создать тему
Опции темы

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