Dá-me o seguinte erro e não percebo o que está errado:   [Linker error] undefined reference to `CD::CD(std::string, double)'   CD.H  // Declaracoes da classe Artigo de Depósitos à Ordem
#ifndef CD_H
#define CD_H
#include <iostream>
using namespace std;
#include "Artigo.h"
#include "Data.h"
class CD : public Artigo {
    private:
        string m_editora;
        double m_lancamento;
    public:
        CD(string t="", double l=0.0, string e="");
        CD(const CD& c);
        double obtemDataLancamento() const;
        string obtemEditora() const;
        
        void mostraArtigo() const;
        void escreveArtigo(ostream& os);
        void leArtigo();
        void leArtigo(istream& is);
        const string obtemTipo() const;
};
#endif[/qode]
CD.CPP
[code]#include "CD.h"
CD::CD(string t, double l, string e)
: Artigo(t), m_lancamento (l), m_editora(e)
{
}
CD::CD(const CD& c)
: Artigo©, m_lancamento (c.m_lancamento), m_editora(c.m_editora)
{
}
string CD::obtemEditora() const{
       return m_editora;
}
double CD::obtemDataLancamento() const
{
    return m_lancamento;
}
void CD::mostraArtigo() const
{
    Artigo::mostraArtigo();
    cout << "Editora:" << m_editora << endl;
    cout << "Data de lancamento:" << m_lancamento << endl;
}
void CD::escreveArtigo(ostream& os)
{
    Artigo::escreveArtigo(os);
    os << m_editora << endl;
    os << m_lancamento << endl;
}
void CD::leArtigo()
{
    Artigo::leArtigo();
    cout << "Editora:";
    cin >> m_editora;
    cout << "Data de lancamento:";
    cin >> m_lancamento;
}
void CD::leArtigo(istream& is)
{
    Artigo::leArtigo(is);
    is >> m_editora;
    is >> m_lancamento;
}
const string CD::obtemTipo() const
{
    return "CD";
}  Alguém me pode ajudar a descobrir o problema?  Obrigado.