Utilizando una clase / estructura / unión sobre múltiples archivos cpp C ++

Estoy tratando de crear una clase en C ++ y poder acceder a elementos de esa clase en más de un archivo C ++. He intentado más de 7 posibles senarios para resolver el error, pero no he tenido éxito. He examinado la declaración de avance de clase que no parece ser la respuesta (podría estar equivocado).

//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

Entiendo que el error es una definición múltiple porque incluyoresources.h en ambos archivos CPP. ¿Cómo puedo arreglar esto? He intentado declarar laclass Jam en un archivo CPP y luego declarandoextern class Jam jam; para cada archivo CPP que necesitaba acceder a la clase. También he intentado declarar punteros a la clase, pero no he tenido éxito. ¡Gracias

Respuestas a la pregunta(5)

Su respuesta a la pregunta