Re: Доступ к приватным членам из потомка дружественного клас
От: Greg Zubankov СССР  
Дата: 24.01.06 11:11
Оценка: 2 (1)
Здравствуйте, Gwynn, Вы писали:

Например так:
class CBase2
{
        friend class CBase
public:
        CBase2()
        {
        }
        ~CBase2()
        {
        }
private:
        float f;
};

class CBase
{
public:
        CBase()
        {
        }
        ~CBase()
        {
        }

        virtual void DoSome(CBase2*) = 0;

protected:
        float& GetF(CBase2* obj) { return obj->f; }
};

class CExt : public CBase
{
public:
        CExt()
        {
        }
        ~CExt()
        {
        }
        virtual void DoSome(CBase2* obj)
        {
                float& f = GetF(obj);
                f = 1.1f;
        }
};
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.