не создавать экземпляр класса не получится - придётся.
class X
{
X(){}
X(const char* ch)
{
F1(false,0,true, ch);
}
private:
void GetSetText(bool bGet, CString* pDest,bool bSet=false,const char* pInit=0 )
{
static CString txt="";
if(bSet)
{
//настроить
if(pInit){txt=pInit;}
}
else
{
//прочитать
if(bGet && pDest){*pDest=txt;}
}
}
private:
void SetText(const char* pInit)
{
GetSetText(false,0,true,pInit);
}
public:
void GetText(CString* pDest)
{
GetSetText(true,pDest);
}
};
Теперь в начале программы (где угодно, лишь бы до начала использования класса X) делаем инитку переменной:
X("некая строка текста"); //инициализация
в статическую переменную txt заносится нужная строка. Теперь все экземпляры класса X при вызове процедуры GetText(CString* pDest) запишут в переменную назначения одно и то же:
X x1;
CString text;
x1.GetText(&text);
text == "некая строка текста"
ИМХО я бы сделал так. Код я не компилил, тут студии нет, поэтому, возможно баги, но ты разберёшься, неблондика ты наша
естественно это не самое лучшее решение, я тоже не гений , наверняка есть и по другому способы