C ++ Variable estática y error externo no resuelto

speraba poder aclarar algunas variables estáticas de una clase.

Por ejemplo: tengo dos clases diferentes que realizan funciones completamente diferentes, alfa y beta. Dentro de alfa, declaro una variable estática de tipo beta para que se vea así:

//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(); 
}

Ahora cuando intento compilar esto, aparece un error externo no resuelto:

error LNK2001: símbolo externo no resuelto "público: clase estática beta alfa :: var" (? var @ alpha @@ 2Vbeta @@ A)

No estoy seguro de qué cambiar o qué más necesito agregar para que algo como esto funcione. Quiero que x, y y z compartan esencialmente la misma variable beta. Creo que puedo lograr lo mismo simplemente pasando por referencia una variable beta en cada una de ellas. Pero quiero saber si es posible hacer lo mismo usando la palabra clave estática aquí porque los miembros estáticos de una clase tienen el mismo valor en cualquier instancia de una clase. A menos que tenga esa definición incorrecta.

Respuestas a la pregunta(2)

Su respuesta a la pregunta