2010-02-05 37 views
0

我得到了一個名爲Property(來自外部庫==不能被修改)的類,該類有私人重載&運算符。我在另一個類中使用這個類作爲屬性,並且(出於理智的原因)我想通過Get方法返回對此屬性的引用。然而,我得到'無法訪問私人成員聲明在課堂'錯誤我無法處理。有沒有辦法繞過它 - 沒有將該物業公之於衆。返回引用帶重載的私有&運算符的類?

// Some external class. 
class Property 
{ 
    Property* operator&() const; 
}; 

class MyClass 
{ 
protected: 
    Property m_Property; 

public: 

    // error C2248: 'Property::operator &' : cannot access private member declared in class 'Property' 
    const Property& GetProperty() const 
    { 
     return *& this->m_Property; 
    } 
}; 

回答

2

我可能失去了一些東西,但爲什麼不能簡單地說:

const Property& GetProperty() const 
{ 
    return this->m_Property; 
} 

事實上,運營商&是私人相當清楚地表明,你不應該調用它。

+0

當然你是對的。我想,咖啡太多了;)謝謝。 – mslaf