كيفية الحصول على تصحيح المعلومات مجردة(?) pimpl في C++?

StackOverflow https://stackoverflow.com/questions/617726

سؤال

لدي المجمع الدرجة التي المندوبين عملها إلى pimpl ، pimpl هو مؤشر إلى baseclass/واجهة مع أية بيانات متخصصة في عدة طرق مختلفة.

مثل هذا:

class Base
{
    void doStuff=0;
};

class Derived
{
    int x,y;
    void doStuff()
    {
        x = (x+y*2)*x; //whatever
    }
};

class Wrapper
{
    Base*   _pimpl;
    void doStuff()
    {
        _pimpl->doStuff();
    }
};

الآن هذا يعمل بشكل جيد أكثر من مرة ، ولكن عند الذهاب إلى المصحح لا أستطيع عرض x,y من فئة مشتقة (لأنه يمكن أن يكون أي شيء).عادة هذا لا يهم, ولكن عندما يكون هناك شيء يذهب على نحو خاطئ رؤية دولة تستمد يمكن أن تكون هامة ، ولكن pimpl يحجب الدولة كثيرا (إلا أن الفكرة الأصلية من pimpl ، لذلك أعتقد أنني لا يمكن أن يشكو حقا).

الآن لدي وظيفة tostring() أن يطبع الدولة من أجل تصحيح الأغراض ، ولكن أتساءل عما إذا كان هناك حل أفضل ، من أجل تصحيح هذا النوع من التركيب في VisualStudio على وجه الخصوص ، ولكن الحل العام سيكون أفضل.

شكرا

هل كانت مفيدة؟

المحلول

فقط الحفاظ على توسيع الشجرة في السيارات نافذة أو أحد من مشاهدة ويندوز:

النص البديل http://www.freeimagehosting.net/uploads/626b4a37ee.png

نصائح أخرى

هل حاولت صب المتغير إلى المستمدة * في إطار المراقبة؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top