كيفية الحصول على تصحيح المعلومات مجردة(?) pimpl في C++?
-
03-07-2019 - |
سؤال
لدي المجمع الدرجة التي المندوبين عملها إلى 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
نصائح أخرى
هل حاولت صب المتغير إلى المستمدة * في إطار المراقبة؟