ariável estática C ++ e erro externo não resolvi

Eu esperava poder obter algum esclarecimento sobre variáveis estáticas de uma class

Por exemplo: Eu tenho duas classes diferentes que executam funções completamente diferentes, alfa e beta. Em alpha, declaro uma variável estática do tipo beta para que fique assim:

//alpha.h

#pragma once
#include <iostream>
#include "beta.h"

class alpha{
public: 
    alpha(){

    }

    static beta var; 

    void func(){
        var.setX(3);
    }

    void output(){

    }
};

//beta.h

#pragma once
#include <iostream>
using namespace std; 

class beta{

public: 

    int x; 
    char y; 

    beta(){
        x = 0; 
        y = ' '; 
    }

    void setX(int _X){
        x = _X; 
    }

};

//main.cpp

#include <iostream>
#include <iomanip>
#include "alpha.h"
using namespace std; 

int main(){
    alpha x, y, z; 
    x.func(); 
}

gora, quando tento compilar isso, recebo um erro externo não resolvido:

error LNK2001: símbolo externo não resolvido "público: classe estática beta alfa :: var" (? var @ alpha @@ 2Vbeta @@ A)

Não sei ao certo o que mudar ou o que mais preciso adicionar para fazer algo assim funcionar. Quero que x, ye z compartilhem essencialmente a mesma variável beta. Eu acho que posso realizar a mesma coisa, apenas passando por referência uma variável beta em cada uma delas. Mas quero saber se é possível fazer a mesma coisa usando a palavra-chave static aqui, porque membros estáticos de uma classe têm o mesmo valor em qualquer instância de uma classe. A menos que eu tenha essa definição errada.

questionAnswers(2)

yourAnswerToTheQuestion