Re: Как получить доступ??? Новичок
От: Gvido  
Дата: 28.03.02 23:56
Оценка:
Здравствуйте Serge_O, Вы писали:

SO>Есть например класс

SO>class CFirst:public CDialog
SO>{
SO>....
SO>public:
SO>....
SO>CString m_var;
SO>.....
SO>}

SO>Переменной m_var присваивается какое-то значение


SO>Есть другой класс

SO>class CSecond:public CDialog
SO>{
SO>....
SO>public:
SO>....
SO>CString m_getVar;
SO>.....
SO>}

SO>Как получить значение переменной m_var из класса CFirst в переменную m_getVar клаcca CSecond


Самый простой способ:
CFirst first;
CSecond second;
first.m_var = 0;
m_getVar = first.m_var; :))

Если нужен доступ прямо из функций класса, можно сделать так:
class CBase : public CDialog // базовый класс
{

protected:

CBase *first; // указатели
CBase *second; // на наследующие классы

};

class CFirst : public CBase
{
...
public:
CFirst(); { first = (CBase*) this; }
...
CString m_var;
...
};

class CSecond : public CBase
{
...
public:
CSecond(); { first = (CBase*) this; }
...
CString m_getVar;
...
};

Теперь в функциях классов CFirst и CSecond имеем к доступ:
(CFirst*) first->m_var;
(CSecond*) second->m_getVar;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.