Массивы C++ после объявления класса
Есть следующий код:
class Biblio {
public:
char author[50], book_name[50];
int year, pages, copies;
void Info();
void Dob();
void Del();
} spisok[20];
Массив объявляется после закрывающей скобки, перед точкой с запятой. Функция добаления:
void Biblio::Dob() {
int kol_book;
int i;
cout << "Введите количество книг, которые требуется добавить: ";
cin >> kol_book;
for (i = obsh_kol; i < kol_book; i++) {
cout << "Автор: "; cin >> spisok[i].author;
cout << "Название книги: "; cin >> spisok[i].book_name;
cout << "Год издания: "; cin >> spisok[i].year;
cout << "Количество страниц: "; cin >> spisok[i].pages;
cout << "Количество экземпляров: "; cin >> spisok[i].copies;
cout << endl;
}
obsh_kol = i;
}
Как написать функцию удаления? Присвоить пустой элемент не получается из-за используемого типа char, изменить char на string не получается из-за того, что ругается switch (передача управления в обход инициализации), объявить вектор вместо массива не получается, ругается компилятор. Функция удаления (на данный момент):
void Biblio::Del() {
int bookid;
obsh_kol--;
}