继承:派生类

时间:2017-12-20 09:20:08

标签: c++ inheritance

我在这里有点混乱。我在mainwindow下有一堆课程。一个是基类:DocumentViewer。在此基础上,我们有多个子类,例如PDFViewerRichTextViewerDocumentViewerImageViewer等。

属性边框,它是基类的一部分,即DocumentViewerImageViewer的属性为 AspectRatio 。但是当我继承基类时,我可以在派生类中访问 Borders 并相应地使用我的ImageViewer类吗?

或者我也需要为ImageViewer类创建相同的方法?

    class DocumentViewer : public MainWindow
        {
        private: bool Borders;
        public: bool GetBorders();
                void PutBorders(...);
        }
....
....
        class ImageViewer : public DocumentViewer
        {
        private: bool AspectRatio;
        public: bool GetAspectRatio();
                void PutAspectRatio(...);
        }

2 个答案:

答案 0 :(得分:0)

虽然继承from concurrent.futures import FIRST_COMPLETED async def print_when_done(pending): while True: if not pending: break done, pending = await asyncio.wait(pending, return_when=FIRST_COMPLETED) for res in done: print("Result worker %s" % res) 的类不再可以直接访问边框,但您仍然可以使用已在DocumentViewergetBorders中声明的getter和setter对其进行修改。如果PutBorders需要ImageViewer,只需使用getter和setter访问它。

答案 1 :(得分:0)

除了一些程序员dude的评论之外,这篇文章还提供了一个有用的答案:

Inheriting private members in C++