Usando uma classe / struct / union em vários arquivos cpp C ++

Estou tentando criar uma classe em C ++ e poder acessar elementos dessa classe em mais de um arquivo C ++. Tentei mais de 7 possíveis senários para resolver o erro, mas não obtive êxito. Analisei a declaração de encaminhamento de classe que não parece ser a resposta (eu posso estar errado

//resources.h
class Jam{
public:
int age;
}jam;

//functions.cpp
#include "resources.h"
void printme(){
std::cout << jam.age;
}

//main.cpp
#include "resources.h"
int main(){
printme();
std::cout << jam.age;
}

Error 1 error LNK2005: "class Jam jam" (?jam@@3VJam@@A) already defined in stdafx.obj

Error 2 error LNK1169: one or more multiply defined symbols found

Entendo que o erro é uma definição múltipla porque estou incluindoresources.h nos dois arquivos CPP. Como posso consertar isso? Eu tentei declarar oclass Jam em um arquivo CPP e declarandoextern class Jam jam; para cada arquivo CPP necessário para acessar a classe. Também tentei declarar ponteiros para a classe, mas não obtive êxito. Obrigado

questionAnswers(5)

yourAnswerToTheQuestion