Buenas te dejo mi version tiene mas de lo que querias pero es que me da la imrpresion que querias asignar valores diferentes al arreglo cada vez que creas un objeto
asi que para hacer eso se necesita arreglo dinamicos
aqui te dejo un posible ejemplo te puedes ahorra mucho codigo si haces los arreglos estaticos como seria---> char universo[10][10];
el inconveniente es que siempre sera el mismo valor para todos los objetos y no podras cambiarlo
//---------------------------------------------------------------------------
#include <iostream>
using namespace std;
class MiClase {
public://para fines demostrativos lo pondren en publico pero no es correcto dejar los atributos
//o variables como publicos siempre tiene que ser privadas
int longitudX, longitudY;//las variables no pueden ser constantes
char **universo; //Arreglo de dos dimensiones dinamicos, por eso usa doble puntero
public:
MiClase(int lx, int ly);//Definimios nuestros constructor
~MiClase(); //Destructor del objeto
};
MiClase::MiClase(int lx, int ly) { //implementamos el constructor
longitudX=lx; //asignamos los valores
longitudY=ly;
universo=new char*[longitudX]; //crear la primera dimension
for(int i=0;i<longitudX;i++){
universo[i]=new char[longitudY];//creamos las dimensiones de adentro
}
}
MiClase::~MiClase(){//Destructor de objeto , este se llama automaticametne y libera la memoria del arreglo bidimensional
for(int i=0;i<longitudX;i++){
delete[] universo[i];//eliminar la primera dimesion del arreglo
}
delete[] universo; //elimina la segunda dimension
}
//------------------------------------------------------------------------------------------------------------------------------
int main() {
MiClase objeto(4,5);//cramos el objeto
for(int i=0;i<objeto.longitudX;i++){ //lo recorremos solo para ver que funciona
for(int j=0;j<objeto.longitudY;j++){
objeto.universo[i][j]='x';//le asignamos un caracteer
cout<<objeto.universo[i][j]<<" ";
}
cout<<endl;
}
cin.get();
return 0;
}
Espero te ayude si tienes dudas avisa saludos...