原型壊れて分かりません。

#include <iostream.h>

class cls{
char d1[50], d2[25];
public:
char out();
};

char cls::out(){return strcat(d1, d2);}

void main(){
cls c;
char* p;
p = (char*)&c;
*p = "1.1";
p++;
*p = "2.3";
cout << c.out();
}

これ直せる?