Getting an undefined reference error
<p>I am hoping someone can point me in the right direction to figure out why I am getting the following error:</p>

<pre><code>$~/display/triangleDisplayable.cc:4: undefined reference to `Displayable::Displayable()'
</code></pre>

<p>I am trying to abstract a class <code>Displayable</code> and have a class <code>triangleDisplayable</code> that implements its methods. The two header files I have are "Displayable.h":</p>

<pre><code>    class Displayable {

    public:
        Displayable();

        virtual int getSizeOfArrays() = 0;
        void display(int size);

    private:
        virtual void init() = 0;
        virtual int getSizeOfPointsArray() = 0;
        virtual int getSizeOfNormalsArray() = 0;

    };
</code></pre>

<p>and "triangleDisplayable.h"</p>

<pre><code>    #include "Displayable.h"

    class triangleDisplayable : public Displayable 
    {

    public:
        triangleDisplayable();
        int getSizeOfArrays();

    private:
        void init();
        int getSizeOfPointsArray();
        int getSizeOfNormalsArray();

    };
</code></pre>

<p>And then I have "Displayable.cc"</p>

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

    Displayable::Displayable() {
        std::cout &lt;&lt; "testing Displayable constructor" &lt;&lt; std::endl;
    }

    void Displayable:display(int size) {
    }

    int main () {
        return 0;
    }
</code></pre>

<p>and "triangleDisplayable.cc"</p>

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

    triangleDisplayable::triangleDisplayable() : Displayable() {
    }

    int triangleDisplayable::getSizeOfArrays() {
        return 0;
    }

    void triangleDisplayable::init() {
    }

    int triangleDisplayable::getSizeOfPointsArray() {
        return 0;
    }

    int triangleDisplayable::getSizeOfNormalsArray() {
        return 0;
    }

    int main () {
        return 0;
    }
</code></pre>

<p>I have been trying to follow along with various tutorials to learn how to do abstraction in C++, but I have not really been able to find any helpful solutions to this. I believe that all of my <code>#include</code>s are correct, which I read is a common problem. The error message seems to indicate that the problem is the line </p>

<pre><code>    triangleDisplayable::triangleDisplayable() : Displayable() {
    }
</code></pre>

<p>I have tried to compile without the <code>: Displayable()</code> but I get the same error. Is there perhaps a problem with my syntax in my header files?</p>
