Деструктор никогда не называется [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Деструктор никогда не называется [закрыто]

Сообщение Anonymous »

Метод базового выпуска: < /p>
void CSObject::release() const
{
_retainCount--;

if (_retainCount == 0) {
delete self;
}
}
< /code>
В классах, унаследованных от базовых, никогда не вызывается? < /p>
template
class CSArray : public CSObject {
private:
elem *_array;
unsigned _capacity;
unsigned _count;

protected:
CSArray();
CSArray(const elem *cArray, unsigned count);
~CSArray();

public:
// convenience constructors
static CSArray *withCapacity(unsigned count);
static CSArray *withCArrayCount(const elem *cArray, unsigned count);
static CSArray *withArray(const CSArray *array);
// instance member functions
unsigned count() const;
elem elementAtIndex(unsigned i) const;
void insertElementAtIndex(elem item, unsigned i);
void addElement(elem item);
void removeElementAtIndex(unsigned i);
const elem *cArray() const;
// exceptions
enum CSEvent {
CSMemfail,
CSRange,
CSUnrecognize
};
};
< /code>
main < /p>
float c_array[3] = {1.0, 2.0, 3.0};
CSArray *array = CSArray::withCArrayCount(c_array, 3);
array->release();


Подробнее здесь: https://stackoverflow.com/questions/339 ... ver-called
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»