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

Классы. Сортировка обьектов класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Из массива A удалить те цепочки нечетных элементов, в которых нет ни одного элемента из массива B http://www.cyberforum.ru/cpp-beginners/thread679889.html
Пожалуйста помогите! Из массива A удалить те цепочки нечетных элементов, в которых нет ни одного элемента из массива B. Пример: массив A: 3 2 7 5 2 1 2 6 3 9 массив B: 1 2 5 4 8 Массив A после удаления примет вид: A: 2 7 5 2 1 2 6.
C++ Определить,является ли заданное число x корнем полинома,коэффициенты которого заданы в массиве по возрастанию степеней Определить,является ли заданное число x корнем полинома,коэффициенты которого заданы в массиве по возрастанию степеней. http://www.cyberforum.ru/cpp-beginners/thread679886.html
найти число сочетаний из n элементов по m C++
найти число сочетаний из n элементов по m
Не Ищет фамилию C++
Добрый вечер. Нашел код, но он не ищет фамилию, всегда выдает фимилия не найдена, помоги плиз. Код полностью работает, кроме поиска фамилии. #include "iostream" #include "time.h" #include "conio.h" using namespace std; struct ZNAK { char family;
C++ Передача значения по ссылке http://www.cyberforum.ru/cpp-beginners/thread679873.html
Даны два файла: fun.cpp: #include <math.h> double summa(float x, float eps, double& psl, int& k) { double s=0, sl=1/x, psl=0; int k=0; while (fabs(sl)>=eps) { s=s+sl; psl=sl; sl=sl*(x*x*(2*k-1))/(-2*(k+1)*(2*k+1)*(2*k+3)); k++;
C++ Я не знаю как доработать Написал код, но очень криво и нифига ничего не работает. Наш препод ничерта не объясняет =( Учу С всего 2 месяца Итак задание: Задано вещественное число а. Найти такое наименьшее n, при котором выполняется условие: 1+1/2+1/3+ … +1/ n > a. То что я нацарапал: #include <stdio.h> #include <conio.h> #include <locale> подробнее

Показать сообщение отдельно
nonedark2008
623 / 501 / 92
Регистрация: 28.07.2012
Сообщений: 1,338
26.10.2012, 17:18     Классы. Сортировка обьектов класса
Ммм. Вот смотри, у тебя в классе есть такие поля:
C++
1
2
char Name_Country [30];
float Naselenije;
При создании обекта класса, автоматически выделится память под переменную Naselenije и под массив из 30 символов Name_Country. Память выделяется автоматически и автоматически же освобождается при удалении переменной. Т.е. когда пришло время объекту класса "умирать", то и память из под таких переменных освободится автоматически. Считай все, что принадлежит классу(находится внутри класса), то само и удалится.
Другое дело, если ты сама выделяешь память.
Вот например у тебя в классе будет переменная
C++
1
char *str;
Считай простой указатель. Когда ты создашь объект класса, то под переменную str выделится всего-лишь 4 байта(обычно). Это указатель, он просто указывает на что-то.
Далее в конструкторе можно встретить нечто такое:
C++
1
str = new char[100];
Сдесь считай две операции: 1- выделить память под массив в 100 символов. 2- в переменную str присвоить адрес этого массива. Т.е. указатель str указывает теперь на начало выделенного массива.
Но проблема в том, что эти массив из этих 100 символов уже не находится внутри нашего объекта класса. А следовательно, он не будет автоматически удаляться. Поэтому его требуется удалить вручную. Для этого в деструкторе пишут:
C++
1
delete[] str;
Т.е. удали массив, расположенный по адресу str
Так требуется поступать и со всеми внешними ресурсами. Например файлы.
Открытие файла - это процесс взаимодействия с ОС. Т.е. ты считай отправляешь запрос системе на открытие файла, а она это желание старается исполнить. И возвращается тибе не сам открытый файл, а лишь некий его идентификатор в ОС. После окончания работы его так же нужно закрыть, ведь если не закроешь, то ОС будет продолжать считать, что он тебе нужен и не будет давать доступ другим.
Вот так вот. Более просто у меня не выйдет.
 
Текущее время: 04:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru