cost 209 ms
純虛擬會員有什么好處(除了他們可能防止的人為錯誤)?

[英]Are there any advantages to pure virtual members (except the human error that they might prevent)?

我有一堆具有純虛擬成員的類,它將由派生的非抽象類填充。 我收到錯誤: 這個錯誤可以通過使用stack<ABC*>來解決,但是堆 memory 訪問比堆棧 memory 慢,所以我正在考慮重寫基礎 class ABC 沒有純虛擬成員。 這樣做會有什么缺點嗎(除了可能使用此代碼的人的人為錯 ...

為參數化構造函數獲取“未定義的對 `vtable` 的引用”錯誤

[英]Getting "undefined reference to `vtable`" error for parameterized constructor

我有這個錯誤出現: 對vtable的未定義引用 我無法弄清楚它的根本原因。 我確實嘗試在谷歌中搜索,但仍然無法找出原因。 這是代碼: IState.hpp -> 完整的狀態接口類 CState.hpp -> 接口類的部分實現 ActiveState.hpp - ...

“如果派生類不虛擬繼承基類,則必須定義所有虛擬方法”。如何正確理解?

[英]"If the deriving class does not inherit the base class virtually, then all virtual methods must be defined".How to understand that in the right way?

根據維基,它說[強調我的]:注意報價中的代碼片段在這里看到。 假設在基類中定義了一個純虛方法。 如果派生類虛擬繼承了基類,則不需要在該派生類中定義純虛方法。 但是,如果派生類沒有虛擬繼承基類,則必須定義所有虛擬方法。 可以在此處以交互方式探索下面的代碼。 如何正確理解粗體字? 似乎如 ...

深度復制派生的指針向量 class

[英]Deep copying a vector of pointers in derived class

我有一個名為 Cipher 的純虛擬 class Cipher 有一些其他派生類(例如 CaesarCipher)。 問題將與 CipherQueue 有關,它看起來像這樣: CipherQueue 有一個名為tarolo的向量。 它包含指向 Cipher 派生類的指針。 您可以使用 new ...

在抽象 class 構造函數中為所有未來的派生類強制執行初始化行為

[英]Enforce initialization behaviour in abstract class constructor for all future derived classes

我從 Qt 庫中的現有輸入字段 class 派生(不需要熟悉它),我在其中添加了一個文本驗證器來檢查有效輸入(使用 QLineEdit 驗證選項)和一些進一步的功能/覆蓋. 為此,我創建了一個名為ConstrainedQLineEdit的純虛擬 class,它派生自QLineEdit ,然后我從中實 ...

C++ 抽象 class 供外部使用

[英]C++ abstract class for external use

我正在編寫一個使用 node-gyp 構建的節點插件,並且我想與使用 Makefiles 構建的大型項目(kaldi-asr)中的庫鏈接。 在 binding.gyp 文件中復制 Makefile 結構對我來說是不可行的,因此我創建了一個抽象 class 和另一個擴展它的 class。 這允許我使用 ...

實現純虛擬 function 將參數從 void* 更改為特定類型指針

[英]Implementing a pure virtual function Change parameter from void* to specific type pointer

我有一個基礎 Class,它通過創建一個產生線程、偵聽隊列並處理接收到的消息的服務器來實現所有平凡的東西。 然后將這些消息提供給純虛擬 function: void ProcMsg(void* msg) = 0; 在實現ProcMsg時,在派生的 Class 的實現中,我想將void* msg更改為 ...

為什么純虛擬析構函數沒有隱式默認定義?

[英]Why isn't there an implicit defaulted definition for pure virtual destructor?

我知道如果該類應該是抽象的,但不包含任何使用定義的方法,則可以通過使析構函數純虛擬來實現這一點。 據我了解,下面示例中的對象不應該被實例化。 我知道純虛函數也可以有定義,並且在上面的情況下,它應該為B析構函數定義,但對我來說有些模糊。 有什么特別的理由不讓純虛擬析構函數的定義在 C++ 標准 ...

運行時加載dll

[英]Loading dll at runtime

我需要在運行時加載一個 DLL。 我事先不知道要加載哪個 DLL,但 DLL 是接口的實現(純虛方法)。 最終目標是擁有一個指向 DLL 的指針來調用其方法。 現在,我只想測試 DLL 加載,調用測試方法,但我失敗了。 測試方法是void test() 。 #if defined (_WIN32) ...

將繼承的 function 更改為純虛擬

[英]Changing inherited function to be pure virtual

我想知道以下是否可能。 我希望我的派生 class dA將func()更改為純虛擬,以便從dA派生的任何類都必須實現func() 。 即使ddA沒有實現func() ,也可以在 MSVC 下編譯類似於下面的代碼。 編譯器確實抱怨下面的代碼(見評論)。 所以我現在的問題變成了:這是一種符合標准的方式來 ...

如何使用基礎 class object 調用派生的 class 方法?

[英]How to call a derived class method using a base class object?

我明白這是如何朝着相反的方向發展的。 但由於各種原因,我想使用基本 class object 來調用派生的 class 方法假設我們有 2 個類,一起代表一個人的數據(姓名和年齡): 由於這兩個類是關於一個人的數據,並且我有一個人 object,我想使用這個 object 來找出他的年齡(可能從它 ...

一種方法來保證一堆派生類有 static 函數做同樣的事情,並保證以相同的方式命名?

[英]A way to guarantee that a bunch of derived classes have static functions that do the same thing and that are guaranteed to be named in the same way?

我知道不可能擁有既是純虛擬方法又是 static 的 class 方法(請參閱此討論)。 所以,我問:有沒有辦法保證一堆派生類有 static 函數做同樣的事情,並保證以相同的方式命名? 考慮以下示例: 我注釋掉了基礎 class 以便它編譯,但我想要一個接口 class 保證一堆派生類都具有以相 ...

具有兩個接口的多個 inheritance,一個從第一個接口派生,一個派生的 class 實現第一個接口

[英]Multiple inheritance with two interfaces, one which derives from first, and a derived class implementing the first interface

抱歉描述不佳。 這是問題: 由於“'Bar”而失敗:由於以下成員,無法實例化抽象 class:'int PureVirtualBase::IntFn(void) is abstract" 我不確定如何糾正這個問題。 我會認為 Bar 很好,因為它繼承了 Foo 的 IntFn 實現(並根據 Pure ...

可序列化 Object 與谷物

[英]Serializable Object with Cereal

我有一個抽象的 class BaseProduct ,它由ConcreteProduct等類繼承。 我希望所有子類都被迫為cereal庫實現serealize方法。 我不能serialize聲明為虛擬,因為它應該是一個模板: 所以我希望孩子們被迫: 是否有一個優雅的解決方案來確保我所有的BasePr ...

強制派生的 class 覆蓋一組虛擬函數中的一個

[英]Force a derived class to override one of a set of virtual functions

給定具有一些虛函數的基本 class ,任何人都可以想出一種方法來強制派生的 class 在編譯時恰好覆蓋一組虛函數中的一個嗎? 或者實現相同目的的 class 層次結構的替代公式? 在代碼中: 我不確定我是否真的有一個實際的用例,但是當我正在實現一些松散地遵循這種模式的東西時,我突然想到這是一個值 ...

如何刪除繼承自base class的純虛擬function?

[英]How do I delete a pure virtual function inherited from base class?

假設我有一個名為Human的 base class。 Baby和Adult是Human的子類。 Human有一個 function 作為純虛擬 function run ,我不希望Baby繼承run但如果我不覆蓋run , Baby將變成一個抽象的 class。 如果我用=delete標記ru ...

C++ 如何從父調用子方法

[英]C++ How to call a Child Method from Parent

我正在做一個小項目,我發現自己處於這樣的情況: 我想知道是否有辦法從type A的 object 調用f() function (in class B )? 我試過這個,但它說 function f()在class A中找不到: ...

class 的問題被認為是抽象的 class 但沒有虛擬純方法

[英]problem with class considered like abstract class but whitout virtual pure method

我對抽象類有疑問。 我已經聲明了兩個 class Valeur (抽象類)和Boolleen 勇士.hh Valueur.cpp 主.cpp 當我嘗試實例化 Boolleen class 時,編譯器告訴我它是一個抽象 class,但我沒有在 Boolleen 中聲明純虛方法。 我希望能夠毫無顧慮地 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM