Презентация на тему "Классы, использующие свободную память"

Презентация: Классы, использующие свободную память
1 из 11
Ваша оценка презентации
Оцените презентацию по шкале от 1 до 5 баллов
  • 1
  • 2
  • 3
  • 4
  • 5
4.0
1 оценка

Комментарии

Нет комментариев для данной презентации

Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.


Добавить свой комментарий

Аннотация к презентации

Смотреть презентацию онлайн на тему "Классы, использующие свободную память" по информатике. Презентация состоит из 11 слайдов. Для студентов. Материал добавлен в 2017 году. Средняя оценка: 4.0 балла из 5.. Возможность скчачать презентацию powerpoint бесплатно и без регистрации. Размер файла 0.09 Мб.

Содержание

  • Презентация: Классы, использующие свободную память
    Слайд 1

    5. Классы, использующие свободную память

    1

  • Слайд 2

    5.1. Копирование объектов

    class S { private: int n; Typearr[N]; public: S():n(0) {} S(int, …); . . . }; 2

  • Слайд 3

    5.1. Копирование объектов(продолжение)

    S ob1(5); . . . { S ob2 = ob1; S ob3(3); ob3 = ob1; } . . . 3 n arr xxxxx 5 ob1 xxxxx 5 n arr ob2 xxxxx 5 n arr ob3 yyy 3

  • Слайд 4

    5.2. Динамические объекты

    class S { private: int n; Type *ptr; public: S():n(0), ptr(NULL) { } S(int, …); ~S(){delete [ ] ptr;} }; 4

  • Слайд 5

    5.2. Динамические объекты(продолжение)

    S::S(int k, …):n(k), ptr(new Type[k]) { //необходимая инициализация // выделенной области памяти . . . } 5

  • Слайд 6

    5.3. Проблемы

    S ob1(5, …); . . . { S ob2 = ob1; S ob3(2, …); ob3 = ob1; } ob1  ??? 6 xxxxx n ptr ob2 n ptr ob3 n ptr ob1 5 5 5 ??? 2 tt ???

  • Слайд 7

    5.4. Копирующий конструктор

    выделение памяти копирование данных S::S(const S &ob):n(ob.n), ptr(NULL) { if(n){ ptr = new Type[n]; // копирование данных } } 7

  • Слайд 8

    5.5. Оператор присваивания

    освобождение памяти выделение новой памяти копирование данных проверка ситуации a = a 8

  • Слайд 9

    5.5. Оператор присваивания(продолжение)

    S & S::operator = (const S& ob) { if(this != &ob) { // проверка a = a delete [ ] ptr; ptr = NULL; if((n = ob.n) != 0) { ptr = new Type[n]; // копирование данных } } return *this; } 9

  • Слайд 10

    5.6. Использование

    S a1(3, …), a2; a2 = a3; // присваивание S a3(a1); // копирующий конструктор S a4 = a1; // копирующий конструктор 10

  • Слайд 11

    5.6. Использование(продолжение)

    S func (S p) { S a(p); . . . return a; } . . . a2 = func(a3); // передача аргумента // возврат результата 11 // S func(const S &p)

Посмотреть все слайды

Сообщить об ошибке