Como exportar uma classe C ++ de uma DLL? [duplicado

Esta pergunta já tem uma resposta aqui:

Como passo com segurança objetos, especialmente objetos STL, de e para uma DL 4 respostas

Eu tenho uma classe que tem duas funções sobrecarregadas. Como exportá-lo de uma dll e também como usá-lo por outras classes C ++? Minha classe fica assim:

#define DECLDIREXP __declspec(dllexport) 

#define DECLDIRIMP __declspec(dllimport)


class DECLDIREXP xyz 

{

public: 
          void printing();
          void printing(int a);
};  

using namespace std; 

void xyz::printing()
{
        cout<<"hello i donot take any argument";
}


void xyz::printing(int a)
{
        cout<<"hello i take "<< a <<"as argument";
}

questionAnswers(4)

yourAnswerToTheQuestion