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

Констуркторы, деструкторы.... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ При удалении динам.массива Segmentation failure http://www.cyberforum.ru/cpp-beginners/thread287955.html
Программа работает но когда удаляем delete buf; то возникает Segmentation failure.... без его удаления всё нормально... #include <iostream> #include <stdio.h> #include <string.h> using namespace std; int General_Funckshion(char *name); bool Glasnie(char s); void Show_File_Now(FILE *f);
C++ Прикрутить CppCheck к Code:Blocks Вот решил познакомиться с этой известной средой (переустановил Винду и понял, что MSVS ставить уже не хочу)) Все поставил, все работает, но вот начал ковыряться в плагинах и нашел на просторах инета плагин CppCheck. Конечно же захотелось) Скачал установщик CppCheck'а (.msi), поставил в папку \plugins (получились екзешник и дллка). Далее в самой среде открываю Manage plugins, там выбираю install... http://www.cyberforum.ru/cpp-beginners/thread287945.html
C++ Среднее значение в СМО
В условии дано среднее значение Х заявок в месяц в течении 6 месяцев.Как можно это реализовать получая конкретные числа.Про что почитать?Я так понял разброс может быть от 0 до 2Х, но чтобы среднее среди 6 значений было Х. В какую сторону копать?
Массив структур. Фун-я удаления и поиска. C++
Первый курс. Решили над нами сделать эксперимент и дали нам курсовую. В принципе ничего сложного абсолютно, подобное задание в первом семестре но на паскале я делал. А вот с С++ не получается:( Создать массив структур (записей), содержащих следующие поля: - номер поезда; - название пункта отправления и назначения; - время отправления. Предусмотреть в программе следующие действия: а) ...
C++ Строки и функции http://www.cyberforum.ru/cpp-beginners/thread287929.html
Программа выводит все цитаты из текста,считанного из файла. Надо оформить ее с помощью функции. Когда я пытаюсь сделать функцию, появляется несоответствие типов. Как сделать правильно? Подскажите, пожалуйста) вот прога: #include <iostream> #include <fstream> #include <string> void main() { std::ifstream ifs("test.txt");
C++ Шифрование Xor'ом Добрый день, уважаемые) тут такое дело, сел делать курсач и столкнулся с проблемой. Работа по шифрованию бинарными операциями и преподаватель дал алгоритм для шифрования XOR'ом...Но тут проблема - в алгоритме использован оператор ReDim, которого в с++ вроде бы нет...подскажите как решить данную проблемы... Задание курсовой такое: Разработать программу, кодирующую информацию в текстовом файле... подробнее

Показать сообщение отдельно
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
07.06.2011, 00:53     Констуркторы, деструкторы....
Проще не выйдет, но можно сделать примитивней.
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
#include <iostream>
#include <string>
 
struct Book {
  std::string author;
  std::string name;
  Book() : author(""), name("") {}
  Book(const std::string &author_, const std::string name_)
    : author(author_), name(name_) {}
};
 
class SimpleQueue {
 public:
  SimpleQueue() { base_.next = base_.prev = &base_; }
  SimpleQueue(const SimpleQueue  &other) {
    base_.next = base_.prev = &base_;
    NodeBase *node = other.base_.next;
    while (node != &(other.base_)) {
      PushBack(static_cast<Node*>(node)->value);
      node = node->next;
    }
  }
  ~SimpleQueue() { Clear(); }
  void PopFront() {
    // тут надо предусмотреть, что список не пуст
    Node *node = static_cast<Node*>(base_.next);
    node->prev->next = node->next;
    node->next->prev = node->prev;
    delete node;
  }
  Book &Front() const {
    // тут надо предусмотреть, что список не пуст
    return static_cast<Node*>(base_.prev)->value;
  }
  void PushBack(const Book &value) {
    Node *node = new Node;
    node->value = value;
    node->next = &base_;
    node->prev = base_.prev;
    node->next->prev = node->prev->next = node;
  }
  bool Empty() {
    return (base_.next == &base_) && (base_.prev == &base_);
  }
  void Clear() {
    while (!Empty())
      PopFront();
  }
  void Print() {
    for (NodeBase *node = base_.next; node != &base_; node = node->next)
      std::cout << "Author: "<< static_cast<Node*>(node)->value.author
                << std::endl
                << "Name: " << static_cast<Node*>(node)->value.name
                << std::endl << "-----" << std::endl;
  }
  SimpleQueue AuthoredBy(const std::string &author) {
    SimpleQueue result;
    for (NodeBase *node = base_.next; node != &base_; node = node->next)
      if (static_cast<Node*>(node)->value.author == author)
        result.PushBack(static_cast<Node*>(node)->value);
    return result;
  }
 private:
  struct NodeBase {
    NodeBase *next;
    NodeBase *prev;
  };
  struct Node: public NodeBase {
    Book value;
  };
  NodeBase base_;
};
 
int main(int argc, char *argv[]) {
  SimpleQueue queue;
 
  queue.PushBack(Book("Prattchet", "Colour of Sky, The"));
  queue.PushBack(Book("Melville", "Moby-Dick"));
  queue.PushBack(Book("Prattchet", "Wizzard"));
 
  SimpleQueue copy(queue);
  queue.PopFront();
  
  std::cout << std::endl << "Queue:" << std::endl << std::endl;
  queue.Print();
 
  std::cout << std::endl << "Copy:" << std::endl << std::endl;
  copy.Print();
 
  std::cout << std::endl << "Authored by Prattchet:" << std::endl << std::endl;
  copy.AuthoredBy("Prattchet").Print();
  return 0;
}
Добавлено через 5 минут
Цитата Сообщение от CFYZ Посмотреть сообщение
Возможно Вы могли бы его упростить, до минимального уровня, что бы он был похож на мой код?
К сожалению, до минимального уровня не могу. По меньшей мере не могу использовать односимвольные или не говорящие идентификаторы -- путаюсь. Ну и общая стилистика уже как-то устоялась. Но вы можете всё это легко исправить с помощью инструмента замены в вашем любимом текстовом редакторе.

Не по теме:

Цитата Сообщение от CFYZ Посмотреть сообщение
Подправьте если не сложно, что бы это выглядело более профессионально.
Цитата Сообщение от CFYZ Посмотреть сообщение
Возможно Вы могли бы его упростить, до минимального уровня, что бы он был похож на мой код?
Вам шашечки или ехать?

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