abc

    2熱度

    4回答

    使用gcc -fdump-class-hierarchy編譯下面的類 class Interface { virtual void doIt() = 0; virtual ~Interface() = 0; }; inline Interface::~Interface() {} 。 gcc發出 Class Interface size=4 align

    2熱度

    1回答

    根據ABCs的文檔,我只需要添加一個next方法就可以繼承collections.Iterator。所以,我用下面的類: class DummyClass(collections.Iterator): def next(self): return 1 不過,我得到一個錯誤,當我嘗試實例吧: >>> x = DummyClass() Traceback (most rec

    1熱度

    2回答

    我即將添加一個將由我之前設計的三個類(A,B和C)使用的類X. 新的類X將包含新功能的數據和函數,併爲使用它隱藏較低層的類提供服務。問題是,A,B和C將使用類X的方式完全不同,即使用它的不同功能。 我的問題是如果我應該爲新的類X提供一個API(或C++的抽象基類)。如果我應該這樣做,那麼這個API應該是X類還是A類,B類和C類?我曾經在某處讀過一個API,它有時與那個實現它的類更接近。如果我確實爲

    1熱度

    5回答

    正如您在下面的代碼中看到的那樣,我有一個抽象基類「HostWindow」,以及源自它的類「Chrome」。所有功能都在Chrome中實現。問題是,如果他們是虛擬的,我不能在Chrome中調用函數。 class HostWindow : public Noncopyable { public: virtual ~HostWindow() { } // Pure virtual