dynamic-cast

    0熱度

    1回答

    我在內存管理器模板中使用dynamic_cast<void*>來獲取對象的實際地址。 但是對於不是多態的類型,不允許使用dynamic_cast。 是否有更通用的方式,還是我需要兩個版本的模板?

    2熱度

    3回答

    我試圖建立一個程序,可以基於總結了一些交易的資產負債表,並在這樣的格式呈現結果: 重要屬性這裏是頂級帳戶(如資產)被分解成子賬戶的一棵樹,只有最低級帳戶(「葉」)跟蹤自己的餘額(更高級別的賬戶餘額及其子賬戶的餘額只總和)。 我去到的方法是使用繼承: class Account{ string name; virtual int getBalance() =0; //generi

    0熱度

    1回答

    我知道這個問題已經被問了很多,我用google搜索,但是不能把所有東西放在一起。也許是因爲這是不可能的,我想要什麼? 我 struct Universe { } 和 struct Atom: Universe { } struct Molecule: Universe { } Universe U; Atom A; Molecule M; _atoms = vecto

    0熱度

    1回答

    我從Julian Templeman的書「Microsoft Visual C++ .NET」2005版中學習Visual C++。我使用的是Visual Studio Express 2012. 我知道它處理的是由C++/CLI取代的舊託管C++,因此我必須更改代碼中的某些文本才能在cli中工作。 然而,或當要重新打印窗口內容的代碼時,窗口得到最小化後,我得到錯誤 C2681:「重載函數」:對d

    1熱度

    2回答

    在C++陷阱從項目45引用: 首先一個dynamic_cast的不一定是動態的,因爲它可能不 執行運行時檢查。當執行從派生 類的指針(或參考)一個將dynamic_cast到不需要 運行時檢查它的公共基類中的一個,因爲編譯器可確定靜態 該轉換才能成功。當然,在這種情況下,不需要任何類型的鑄造 ,因爲從派生類到其公共基類 類的轉換是預定義的。 我想上面的描述是通常使用dynamic_cast(因此會

    0熱度

    1回答

    問題的結構是這樣的 食物是一個抽象基類;植物和動物直接從它那裏繼承。 食草動物,食肉動物和雜食動物繼承動物, 而水果和堅果和葉從植物 繼承狐猴,考拉和松鼠繼承草食動物 總體而言,它是一個炎熱的爛攤子,但它是必要的鍛鍊。 整個項目可以在GitHub https://github.com/joekitch/OOP_JK_Assignment_4/blob/master/OOP_JK_Assignmen

    9熱度

    2回答

    我使用的dynamic_cast在我的源投指針像下面的一些事情, Base *base = here storing the pointer; Derived *derived = dynamic_cast<Derived*>(base); 在基地的情況下,不具有類層次結構的指針,然後轉換失敗,返回NULL。在接下來的幾行中,我檢查NULL。所以沒有問題。 我遇到了崩潰轉儲,由於dynam

    0熱度

    1回答

    我有兩類消息:MessageA和MessageB,無論是從含有純虛擬方法std::string toString()抽象類IMessage的。所以我可以將每個消息轉換爲其指向基類的指針的字符串表示形式。沒關係。不過,我需要以某種方式從字符串中構造消息(具體類型的消息),例如: MessageA* msg = [something].fromString(str)。如果給定的字符串不適合構造Mess

    5熱度

    2回答

    我想檢查dynamic_cast的結果。在C++ 11(或C++ 0x,對於支持nullptr的編譯器),我應該比較nullptr還是0? 這有什麼關係,如果是這樣,爲什麼? 結果是編譯器依賴的嗎?

    2熱度

    3回答

    我是C++的新手,來到一個點,在那裏我生成類的開銷。我有一個QTcpSocket並從它讀取消息並創建對象,例如MessageJoin,MessagePart,MessageUserData等。我將這些對象發送到我的客戶端並顯示它們(+做一些UI更新)。 現在來了我的問題。我測試了一些設計技巧,但所有這些都不是很好: 傳遞一個信息對象的每個參數的信號/插槽連接到客戶端 - 小的開銷,但並不好看 創建