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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строка: напечатать слова, которые удовлетворяют следующему свойству: в слове нет повторяющихся букв http://www.cyberforum.ru/cpp-beginners/thread838481.html
Доброго времени суток. помогите написать программу в С++. Дан текст. Напечатать те слова, которые удовлетворяют следующему свойству: в слове нет повторяющихся букв.
C++ С++ использование функций. Определить, находится ли точка М(х,у) внутренней области треугольника Здравствуйте. помогите написать программу на языке С++. Определить, находится ли точка М(х,у) внутренней области треугольника с вершинами А(0,a), В(b,0) и С(c,0), где a и b – положительные числа.... http://www.cyberforum.ru/cpp-beginners/thread838460.html
C++ Ошибка при создании заголовочного файла
Добрый день. Недавно решил создать свой заголовочный файл, однако при компилятор выдает мне ошибку undefined symbol _main in module c0.ASM . при добавлении функции маин, компилируется отлично, и...
Перенос проекта из visual studio в marmalade C++
Здравствуйте, есть проект, написанный на C++ в VS2012 с кучей файлов *.cpp и *.h Как его перенести в Marmalade SDK, чтоб в нем потом продолжать работать?
C++ В заданной последовательности слов найти все слова, с заданной приставкой http://www.cyberforum.ru/cpp-beginners/thread838439.html
В заданной последовательности слов найти все слова, с заданной приставкой. Помогите пожалуйста. На С++
C++ Двумерные массивы. Найдите наибольший элемент, переставьте местами столбцы Дана целочисленная прямоугольная матрица (задать самостоятельно). 1. Найдите наибольший элемент среди нечетных столбцов этой матрицы. 2. Переставьте местами столбцы матрицы в порядке убывания... подробнее

Показать сообщение отдельно
stima
493 / 343 / 43
Регистрация: 22.03.2011
Сообщений: 1,104
Завершенные тесты: 2
15.04.2013, 18:42
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
#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)
      {
      std::remove_if(_rooms.begin(), _rooms.end(),
        [&room](Room *it){ return room == it; });
      }
 
    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::for_each(flat._rooms.begin(), flat._rooms.end(),
      [&out](Room *it)
        {
        out << *it << 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;
  }
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.