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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.75
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
#1

Отношения между классами и объектами - C++

15.04.2013, 15:42. Просмотров 3067. Ответов 21
Метки нет (Все метки)

Для каждого индивидуального варианта необходимо создать консольную программу на С++, реализующую отношение ассоциации (агрегации или композиции) между классами и объектами.
Класс «КОМНАТА», содержит закрытые поля: сведения о метраже, высоте потолков и количестве окон и метод подсчета площади комнаты. Класс «КВАРТИРА», содержит закрытые поля: номер этажа, массив объектов класса «КОМНАТА», метод подсчета площади квартиры и метод вывода информации о комнатах квартиры.
За ранее спосибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 15:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отношения между классами и объектами (C++):

OOP (все принципы ООП и основные отношения между классами) - C++
Здравствуйте, помогите пожалуйста. Стоит задача показать все принципы ООП и основные отношения между класами. Сильно не ругайтесь, только...

Задача на тему робота с классами и объектами в С++ - C++
Класс Coins (монеты). Класс сохраняет массив из 3 монет та общее количество лицевых сторон после последнего подбрасывания . Должны быть...

Как работает ссылка с объектами, классами и перегруженным оператором [] - C++
Я тут решил поиграться с кодом и понял что совершенно не догоняю как работает ссылка & Есть код нормально работающий: #include...

Сообщения между объектами - C++
Уважаемые господа! Я недавно начал читать литературу по Smalltalk. Так вот, там коммуникация между объектами происходит через отправку и...

Типы связей между объектами - C++
Какие существуют типы связей между объектами и их смысл? Пыталась гуглить, но ничего конкретного не нашла, чтобы касалось языка с++. Я...

Реализация отношений между объектами - C++
Здравствуйте. Есть задумка организовать класс или что-то в этом роде между объектами в программе, который бы отражал их взаимные...

21
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
21.04.2013, 15:49  [ТС] #16
stima, Тоже не подходит этот вариант. MinGW Developer Studio 2.05 скачан отсюда http://soft.sibnet.ru/soft/10761-mingw-developer-studio-2-05/ А вы на чем работаете что у вас получается?
0
stima
493 / 343 / 43
Регистрация: 22.03.2011
Сообщений: 1,104
Завершенные тесты: 2
21.04.2013, 16:37 #17
Я скачал и проверил.

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
#include <vector>
#include <iostream>
#include <algorithm>
 
class Room
  {
  friend std::ostream& operator<<(std::ostream&, const Room&);
 
  public:
    Room() {}
    Room(int width, int height, int length, int windows = 0)
      : _width(width), _height(height), _length(length), _windows(windows) {}
 
    int width()   const { return _width; }
    int height()  const { return _height; }
    int length()  const { return _length; }
    int windows() const { return _windows; }
 
    int square()  const { return _width * _length; }
 
  private:
    int _width;
    int _height;
    int _length;
    int _windows;
  };
  
class Flat
  {
  friend std::ostream& operator<<(std::ostream&, const Flat&);
 
  public:
    Flat(int level) : _level(level) {}
 
    Room* add_room(Room* room)
      {
      _rooms.push_back(room);
      return _rooms.back();
      }
    
    Room* add_room(int width, int height, int length)
      {
      _rooms.push_back(new Room(width, height, length));
      return _rooms.back();
      }
 
    void remove_room(Room *room)
      {
      _rooms.erase(std::remove(_rooms.begin(), _rooms.end(), room), 
          _rooms.end());
      }
 
    int rooms_count() const { return _rooms.size(); }
 
  private:
    int _level;
    std::vector<Room*> _rooms;
  };
 
std::ostream& operator<<(std::ostream& out, const Room& room)
  {
    return out << "Room's"
               << " width: "  << room.width()
               << " height: " << room.height()
               << " length: " << room.length();
  }
 
std::ostream& operator<<(std::ostream& out, const Flat& flat)
  {
    out << "Flat's level " << flat._level << std::endl;
    out << "Contains rooms: " << std::endl;
 
    std::vector<Room*>::const_iterator cit = flat._rooms.begin();
    for ( ; cit != flat._rooms.end(); ++cit)
      out << **cit << std::endl;
 
    return out;
  }
 
int main()
  {
  std::vector<Room*> other_rooms;
  other_rooms.push_back(new Room(10, 10, 10));
 
  Flat flat(2);
  
  Room *room = flat.add_room(new Room(20, 20, 20));
  other_rooms.push_back(room);
 
  flat.add_room(other_rooms[0]);
 
  std::cout << "My new flat is " << flat << std::endl;
  std::cin.get();
 
  return 0;
  }

п.с. Странно но оказывается cbegin, cend это не часть стандарта до C++11.
0
Student004
0 / 0 / 0
Регистрация: 10.04.2013
Сообщений: 2
21.04.2013, 16:42 #18
Кто сможет решить????
В файле заданы координаты вершин многоугольника. Вывести на экран этот многоугольник. Вокруг каждой вершины, расстояние от которой до одной из смежных не превышает величины, заданной в другом файле, нарисовать круг радиусом, равным половине длинной диагонали многоугольника.Круги, пересекающихся выделить отдельным цветом.
0
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
21.04.2013, 16:45  [ТС] #19
stima, Так и должно быть ?Обычно сам водишь свои значение после :,а не они уже появляются,как в картинке ниже
0
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
21.04.2013, 16:46  [ТС] #20
вот
0
Миниатюры
Отношения между классами и объектами  
stima
493 / 343 / 43
Регистрация: 22.03.2011
Сообщений: 1,104
Завершенные тесты: 2
21.04.2013, 16:52 #21
Вы издеваетесь? Это пример отношения. Нужное Вам поведение реализовывайте сами, я не телепат.
1
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
21.04.2013, 17:28  [ТС] #22
stima, Я не это имел ввиду.Вы меня не так поняли тут получается, что поведение ненадо уже реализовывать программа сама уже всё выдала
0
21.04.2013, 17:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2013, 17:28
Привет! Вот еще темы с ответами:

Сравнение между объектами разных классов - C++
Всем привет, Есть 4 разных класса, в мэине мне нужно их сравнить. Например: A a; B b; if(a==b) dosomething();Можно ли...

Связь между 2 классами - C++
Есть 2 класса: Class A { private: B** arrayB;/нужно раньше объявить класс И ... }; A* Object

Взаимодействие между классами - C++
Суть проблемы такова: в одном файле classy.h объявлено несколько классов (classcontrol, class1, class2,class3). Необходимо сделать так,...

Взаимодействие между классами - C++
При попытке создать указатель на объект класса в public секции другого класса из которого будет обращение к его методу... Cook *cok ...


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

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

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