ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
Метод DeleteStudent(Student std) отличается от прежнего
варианта тем, что осуществляется формирование массива студентов
размерности (count – 1), в который не включен удаляемый элемент.
Память, занятая прежним массивом студентов, освобождается, и
сформированный массив студентов становится атрибутом объекта класса
Group.
// метод исключения студента из группы
void Group::DeleteStudent(Student std)
{
Student st;
int istud;
if(FindStudent(std.GetNumberOfTestBook(), st, istud))
{
Student* tmp = new Student[count - 1];
for(int i = 0; i < istud; i++)
tmp[i] = students[i];
for(int i = istud; i < count - 1; i++)
{
tmp[i] = students[i + 1];
}
delete [] students;
students = tmp;
count--;
}
}
При уничтожении объектов в ходе работы программ необходимо
освобождать занятые им ресурсы. Поэтому кроме конструкторов, класс
содержит еще один специальный метод, который выполняет данную
задачу. Этот метод называется деструктором. Деструктор не имеет
возвращаемого значения и параметров. Имя деструктора совпадает с
именем класса с предшествующим символом “~”. Деструктор в классе
может быть только один. Он вызывается автоматически при уничтожении
объекта класса. Если в классе не определен деструктор, то он
предоставляется компилятором и освобождает память, занимаемую
объектом. Деструктор обычно переопределяют в случаях, когда в методах
класса происходит выделение памяти с помощью операции new.
75
Объектно-ориентированное программирование на С++
Метод DeleteStudent(Student std) отличается от прежнего
варианта тем, что осуществляется формирование массива студентов
размерности (count – 1), в который не включен удаляемый элемент.
Память, занятая прежним массивом студентов, освобождается, и
сформированный массив студентов становится атрибутом объекта класса
Group.
// метод исключения студента из группы
void Group::DeleteStudent(Student std)
{
Student st;
int istud;
if(FindStudent(std.GetNumberOfTestBook(), st, istud))
{
Student* tmp = new Student[count - 1];
for(int i = 0; i < istud; i++)
tmp[i] = students[i];
for(int i = istud; i < count - 1; i++)
{
tmp[i] = students[i + 1];
}
delete [] students;
students = tmp;
count--;
}
}
При уничтожении объектов в ходе работы программ необходимо
освобождать занятые им ресурсы. Поэтому кроме конструкторов, класс
содержит еще один специальный метод, который выполняет данную
задачу. Этот метод называется деструктором. Деструктор не имеет
возвращаемого значения и параметров. Имя деструктора совпадает с
именем класса с предшествующим символом “~”. Деструктор в классе
может быть только один. Он вызывается автоматически при уничтожении
объекта класса. Если в классе не определен деструктор, то он
предоставляется компилятором и освобождает память, занимаемую
объектом. Деструктор обычно переопределяют в случаях, когда в методах
класса происходит выделение памяти с помощью операции new.
75
Страницы
- « первая
- ‹ предыдущая
- …
- 73
- 74
- 75
- 76
- 77
- …
- следующая ›
- последняя »
