Пожалуйста, рассмотрите следующий кусок кода. < /p>
Код: Выделить всё
#include
#include
using namespace std;
class books
{
char *author;
char *title;
float price;
char *publisher;
int stockposition;
int reqmt;
float totalprice;
public:
books() {}
books (char *, char *, float, char *, int);
~books()
{
delete author;
delete title;
delete publisher;
cout title >> price >> publisher >> stock;
B[i] = books (author, title, price, publisher, stock);
}
< /code>
Я подумал, что, поскольку я использую указатели char * для строк в моем классе, я должен использовать явный деструктор, который я определил выше.
Как видите, я объявил массив B [num] объектов классов за пределами оператора for ()
Код: Выделить всё
void destroybooks (void)
{
delete []author;
delete []title;
delete []publisher;
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... -confusing