Program Has Unexpectedly Finished
<p>My execution program won't work properly, for whatever reason. </p>

<pre><code>#include &lt;QtCore/QCoreApplication&gt;
    #include &lt;tinyxml/tinyxml.h&gt;
    #include "classowner.h"
    #include "character.h"

    int main(int argc, char *argv[])
    {
        Character * holland = new Character("Holland", HUMAN, MALE);
        delete &amp;holland;
        std::cout &lt;&lt; "Hello, World!" &lt;&lt; std::endl;

        return 0;
    }
</code></pre>

<p>All my output states is that the program won't execute properly. The output doesn't display, however when I don't allocate the object, it will. Obviously, it's the object. What am I doing wrong?</p>

<p><strong>Update</strong></p>

<p>It appears the problem may be something more than deleting and allocating memory. Thus, I'm going to post the implementation behind the Character class.</p>

<p>Header:</p>

<pre><code>#include &lt;iostream&gt;
#ifndef CHARACTER_H
#define CHARACTER_H

enum Race {HUMAN, DARK_ELF};
enum Gender {MALE, FEMALE};
class Character
{
public:
    Character();
    Character(std::string char_name, Race char_race, Gender char_gender);
    ~Character();

    int get_id() { return this-&gt;char_id; }
    std::string get_name() { return this-&gt;name; }
    Race get_race() { return this-&gt;race; }
    Gender get_gender() { return this-&gt;gender; }

private:
    int char_id;
    static int * char_count;
    std::string name;
    Race race;
    Gender gender;
};



  #endif // CHARACTER_H
</code></pre>

<p>//Source:</p>

<pre><code>#include "character.h"
#include &lt;iostream&gt;

int * Character::char_count = 0;

Character::Character()
{
    this-&gt;char_id = *char_count;
    char_count++;
}

Character::Character(std::string char_name, Race char_race, Gender char_gender)
{
    this-&gt;char_id = *char_count;
    char_count++;
    this-&gt;name = char_name;
    this-&gt;race = char_race;
    this-&gt;gender = char_gender;
}

Character::~Character()
{

}
</code></pre>
