vector::erase
Removes from the vector container and calls its destructor but If the contained object is a pointer it doesnt take ownership of destroying it.  
You will have to explicitly call delete on each contained pointer to delete the content it is pointing to, for example:
void clearVectorContents( std::vector <YourClass*> & a ) 
{    
    for ( int i = 0; i < a.size(); i++ ) 
    {       
        delete a[i];    
    }    
    a.clear(); 
} 
Storing raw pointers in standard containers is not a good idea. If you really need to store resources that have to be allocated by new, then you should use boost::shared_ptr. Check out the Boost documentation.
An more generic & elegant solution:
This solution makes use of for_each & templates as @Billy pointed out in comments:
// Functor for deleting pointers in vector.
template<class T> class DeleteVector
{
    public:
    // Overloaded () operator.
    // This will be called by for_each() function.
    bool operator()(T x) const
    {
        // Delete pointer.
        delete x;
        return true;
    }
};
And this can be called as: 
for_each( myclassVector.begin(),myclassVector.end(),
          DeleteVector<myclass*>());
where, myclassVector is your vector containing pointers to myclass class objects.
Usage Example: 
#include "functional"
#include "vector"
#include "algorithm"
#include "iostream"
//Your class
class myclass
{
    public:
        int i;
        myclass():i(10){}
};
// Functor for deleting pointers in vector.
template<class T> class DeleteVector
{
    public:
    // Overloaded () operator.
    // This will be called by for_each() function.
    bool operator()(T x) const
    {
        // Delete pointer.
        delete x;
        return true;
    }
};
int main()
{
    // Add 10 objects to the vector.
    std::vector<myclass*> myclassVector;
    for( int Index = 0; Index < 10; ++Index )
    {
        myclassVector.push_back( new myclass);
    }
    for (int i=0; i<myclassVector.size(); i++) 
    {
        std::cout << " " << (myclassVector[i])->i;
    }
    // Now delete the vector contents in a single  line.
    for_each( myclassVector.begin(),
              myclassVector.end(),
              DeleteVector<myclass*>());
    //Clear the vector 
    myclassVector.clear();
    std::cout<<"\n"<<myclassVector.size();
    return 0;
}