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