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

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

Войти
Регистрация
Восстановить пароль
 
DeniZz
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 10
#1

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

04.05.2011, 21:29. Просмотров 443. Ответов 7
Метки нет (Все метки)

В консольном С++ шарю ну не плохо, но сами условия поставленых задач понять не могу. Помогите плз. Это лабы которые дает нам оочень СтРаннЫй препод по проге.

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

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

Прошу, напишите ЭТО простыми словами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2011, 21:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Классы. Не понимаю условие (C++):

не понимаю условие!! - C++
Добрый день!!! Я взялся за самостоятельное изучение С++. Мой опыт составляет два дня)) Все что я изучил(пока) - линейные программы. Задачки...

не могу сделать програмку.С++.не понимаю классы!! - C++
Добрый день народ)) помогите плиз с программкой) сама не сделаю точно) хоть немножко и разбираюсь) Дано натурально число n....

Зашифровать четырехзначное число, не понимаю условие задачи - C++
Всё глубже в ночь и голова всё хуже работает. Условие: (Зашифровать четырехзначное число, к примеру, 4213) "... заменять каждую...

Непонятна тема (Классы содержащие другие классы, как данные члены ) - C++
Изучаю книгу Джесс Либерти(в частности эту главу в данный момент) #include <iostream> class Point { public: void SetX(int...

Программа по классам, которая использует классы точек и прямых на плоскости, а, возможно, и другие классы - C++
Нужно написать программу, которая использует классы точек и прямых на плоскости, а, возможно, и другие классы. Реализовать её нужно в трех...

Наследование, базовые классы и производные классы - C++
Добрый вечер.Задание: необходимо разработать поля и методы наследуемые из базового класса и собственные компоненты производных...

7
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
04.05.2011, 23:45 #2
если в с++ шарите не плохо то тут написано простыми словами
0
DeniZz
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 10
05.05.2011, 21:15  [ТС] #3
так и шо ж оно должно делать. Вот зачем в одном конструктор копирования, виртуальные деструкторы(хотя я их уже влепил), а в другом - ну так напишите пожалуйста хотя б схематически что это должно быть?!
З.Ы. Непонимаю->нешарю...
0
ValeryLaptev
Эксперт С++
1041 / 820 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
05.05.2011, 21:40 #4
Раз уже "влепил" - текст в студию!
0
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;
}
0
ValeryLaptev
Эксперт С++
1041 / 820 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
08.05.2011, 15:13 #6
В конструкторах без аргументов обычно не пишут ввод полей. Для этого перегружают операцию ввода operator>>
0
DeniZz
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 10
08.05.2011, 16:53  [ТС] #7
Спасибо, да, это так. Но т.к. это лаба и препод шарит исключительно методические весчи то и делать нада так шоб угодить. Он хочет конст с параметрами...
Определи Конструкторы с методами, можишь не описывать, для второй части.
0
kravam
быдлокодер
1697 / 884 / 45
Регистрация: 04.06.2008
Сообщений: 5,481
09.05.2011, 12:38 #8
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
В конструкторах без аргументов обычно не пишут ввод полей
почему?
0
09.05.2011, 12:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2011, 12:38
Привет! Вот еще темы с ответами:

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

Классы возможностей(Mixin классы) - C++
Не могу понять смысла использования mixin классов( это класс в котором есть только методы и нет членов-данных) Т.е. к примеру у нас...

Классы, включающие другие классы - C++
Столкнулся вот с таким кодом: #include &lt;iostream&gt; class Point { public: void SetX(int x) {itsX = x;} void SetY(int y) ...

классы/дочерние классы/методы - C++
помогите пожалуйста! надо что выводились только учебеники. чтоб былo через GetTip. h файл class Book { protected: char...


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

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

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