template <class T>
class Stack
{
public:
Stack(int = 10) ;
~Stack() { delete [] stackPtr ; } //<--- What does the "~" signify?
int push(const T&);
int pop(T&) ;
int isEmpty()const { return top == -1 ; }
int isFull() const { return top == size - 1 ; }
private:
int size ;
int top ;
T* stackPtr ;
} ;
137
Como otros han señalado, en el caso de que pregunte es el destructor
class Stack
.Pero tomando su pregunta exactamente como aparece en el título:
Hay otra situación. En cualquier contexto, excepto inmediatamente antes del nombre de una clase (que es el contexto destructor),
~
es el operador complementario (o no a nivel de bit). Para estar seguro de que no aparece con mucha frecuencia, pero puedes imaginar un caso comoque se ve similar, pero tiene un significado muy diferente.
fuente
Es un destructor. Se garantiza que se llamará a la función cuando el objeto esté fuera de alcance.
fuente
Este es un destructor. Se llama cuando el objeto se destruye (fuera del alcance de la vida o se elimina).
Para que quede claro, debe usar ~ NameOfTheClass como para el constructor, otros nombres no son válidos.
fuente
Es el destructor. Se llama a este método cuando se destruye la instancia de su clase:
fuente
Ese sería el destructor (liberando cualquier memoria dinámica)
fuente