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

Класс домов и класс улиц для учета поступлений квартплаты. Массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Решение головоломок http://www.cyberforum.ru/cpp-beginners/thread848821.html
Скажи пожалуйста, как должна работать программа, решающая головомку: составить, например, функцию проверки окончания и прогонять все варианты или не знаю, пробывать составить какое-то дерево ходов...
C++ Изменение цвета текста Привет всем. Можно ли в консоле менять цвет ЧАСТИ текста? тоесть выделить одно слово другим цветом например Просто system(color ** ) изменяет всё целиком. В нэте не нашёл нормального ответа на мой... http://www.cyberforum.ru/cpp-beginners/thread848819.html
C++ Операции над натуральными числами
Привет всем, я новенький как на форуме так и на в программировании. Начал изучать с++ 2 недели назад,самоучка, так что сильно не кричите)) Задача : Даны три натуральных числа K,L,M (K>=L>=M)....
C++ Класс, динамический массив строк
Здравствуй, пользователь. Сегодня, наконец выбравшись из рид онли и пройдя процесс регистрация, я спешу попросить тебя о помощи. Что я имею? Задание: Создать класс, включающий в себя динамический...
C++ Оформить в виде функции http://www.cyberforum.ru/cpp-beginners/thread848795.html
Оформить каждый пункт задания в виде функции. Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается. ...
C++ Преобразование списка адресов Возникли трудности, не могу решить задачу с переводом адресов в числа. Есть файл с таким содержанием: (данные разделены пробелами, я для наглядности по столбцам разбила) (Из файла надо считать... подробнее

Показать сообщение отдельно
kukhtikov
2 / 2 / 0
Регистрация: 16.12.2012
Сообщений: 97
26.04.2013, 19:11  [ТС]
lemegeton, если будут проблемы, то обращусь.
И можете объяснить, как работает этот класс?
Кликните здесь для просмотра всего текста
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
// вспомогательная функция для копирования строки,
// чтобы не включать громоздкий cstring
char *strcpy(char *destination, const char *source) {
  char *result = destination;
  do {
    *destination++ = *source++;
  } while (*source);  
  return result;
}
 
class Street {
 public:
  Street() {
    name[0] = '\0';
  }
  Street(const char *name) {
    strcpy(this->name, name);
  }
  virtual ~Street() {}
  const char *getName() const { return name; }
  void setName(const char *name) { strcpy(this->name, name); }
 
  // методы, связанные со зданиями:
  unsigned int getNumberOfBuildings() const { return buildings.getSize(); }
  Building &getBuilding(unsigned int position) {
    return buildings[position];
  }
  const Building &getBuilding(unsigned int position) const {
    return buildings[position];
  }
  void addBuilding(const Building &building) {
    buildings.insert(buildings.getSize(), building);
  }
  void addBuilding(unsigned int position, const Building &building) {
    buildings.insert(position, building);
  }
 
  // методы-аггрегаты для вычисляемых свойств класса
  unsigned int getNumberOfResidents() const {
    unsigned int result = 0;
    for (unsigned int i = 0; i < getNumberOfBuildings(); ++i) {
      result += getBuilding(i).getNumberOfResidents();
    }
    return result;
  }
  unsigned int getNumberOfApartments() const {
    unsigned int result = 0;
    for (unsigned int i = 0; i < getNumberOfBuildings(); ++i) {
      result += getBuilding(i).getNumberOfApartments();
    }
    return result;
  }
 private:
  char name[30];
  BuildingList buildings;
};
 
std::ostream &operator<<(std::ostream &stream, const Street &street) {
  stream << "Street{" <<
    "name='" << street.getName() << "'," <<
    "numberOfApartments=" << street.getNumberOfApartments() << "," <<
    "numberOfResidents=" << street.getNumberOfResidents() << "," <<
    "numberOfNuildings=" << street.getNumberOfBuildings() << "," <<
    "buildings=[";
  if (street.getNumberOfBuildings() > 0) {
    for (unsigned int i = 0; i < street.getNumberOfBuildings(); ++i) {
      stream << std::endl << " " << street.getBuilding(i);
      if (i + 1 < street.getNumberOfBuildings()) {
        stream << ",";
      }
    }
  }
  return stream << "]}";
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru