0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 13
1

Написать деструктор для данного класса

07.04.2016, 14:33. Показов 497. Ответов 1
Метки нет (Все метки)

Как лучше написать деструктор для класса:
C++
1
2
3
4
5
6
7
class Library{
    private:
    struct books{
        char* name;
        int year;
        };
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2016, 14:33
Ответы с готовыми решениями:

Написать для класса деструктор, выводящий надпись
Подскажите пожалуйста, как написать в 71 строке деструктор, так, чтобы при компиляции выводилось на...

Как написать деструктор и функции класса
Помогите пожалуйста сделать: 1)деструктор освобождения памяти(после конструкторов)ж 2)функцию по...

Дописать конструктор и деструктор для класса
Помогите пожалуйста написать конструктор копии и деструктор, а также вызвать их, чтобы деструктор...

Для класса задать конструктор и деструктор
Ребята,нужна помощь в написании программы. Для класса задать конструктор(для выделения...

1
4425 / 2364 / 853
Регистрация: 29.11.2010
Сообщений: 5,239
07.04.2016, 22:10 2
Поскольку у класса нет ни одного поля, а деструктор нужен, то скорее всего, его надо сделать виртуальным для потомков.

Так что ваш ответ:
C++
1
2
    virtual ~Library() {
    }
Добавлено через 7 минут
Однако, вышеприведеный код не имеет никакого смысла. Возможно, вам нужна заготовка для хранения "книг" в "библиотеке":

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
class Library{
  public:
   Library() : books() {}
   virtual ~Library() {}
  private:
    struct Book {
      char* name;
      int year;
      Book() : name(0), year(0) {}
      Book(const char* name, int year) 
        : name(strcpy(new char[strlen(name) + 1], name)), year(year) {}
      Book(const Book &o)
        : name(strcpy(new char[strlen(o.name) + 1], o.name)), year(o.year) {}
      Book &operator=(const Book &o) {
        delete [] name;
        this->name = strcpy(new char[strlen(o.name) + 1], o.name);
        this->year = o.year;
        return *this;
      }
      virtual ~Book() {
        delete [] name;
      }
    };
    std::vector<Book> books;
};
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2016, 22:10
Помогаю со студенческими работами здесь

Разработать конструкторы и деструктор для заданного класса
Разработать конструкторы и деструктор для заданного класса. Осуществить инициализацию объектов...

Разработать конструкторы и деструктор для заданного класса
разработать конструкторы и деструктор для заданного класса. Осуществить инициализацию объектов...

Свой деструктор для каждого класса в массиве
Предположим есть класс(описывающий какой либо обьект в нескольких переменных), у него есть...

Деструктор для абстрактного класса, использующего static vector
Доброго времени суток. Возникла проблема с написание деструктора абстрактного класса, использующего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru