pure-virtual

    1熱度

    2回答

    嘗試將關鍵字PURE定義爲const設置爲0,以用作抽象數據類型的類的標識符。爲什麼不能編譯?每邁爾斯在「必要的C++,題目1,」我更願意用const而不是#定義,像這樣: const int PURE = 0; virtual void myFunction() = PURE; 唉,這將引發錯誤(在蘋果LLVM 7.0和gcc一樣): Initializer on function doe

    0熱度

    1回答

    我在多線程上下文(Linux)中使用C++中的虛方法存在問題。 下一個例子指出我的問題: class Base { }; class Concrete1: public Base { //define pure virtual function virtual void func() = 0; }; class Concrete2: public Concrete1 {

    -2熱度

    2回答

    所以我有一個抽象類的問題! 這是Product.h #ifndef PRODUCT_H #define PRODUCT_H #include <string> using namespace std; class Product { private: string description; int d,m,y; float weight;

    -5熱度

    1回答

    我使用純虛擬方法,如下面的代碼所示。 #include <iostream> using namespace std; class Advertisment { public: vitual void price (int Uchrg, int no_of_unt) = 0; { } }; class TVadvertisment : public Ad

    21熱度

    4回答

    考慮以下標準CRTP例如: #include <iostream> template<class Derived> struct Base { void f() { static_cast<Derived *>(this)->f(); } void g() { static_cast<Derived *>(this)->g(); } }; struct Foo :

    0熱度

    2回答

    有沒有一種方法可以在C++中確定一個方法在運行時是否是純虛擬的?事實上,問題是如果有一種方法可以知道派生類的析構函數是否已經被執行,但是基類仍然存在。 這是我的情況下(簡化): class BaseClass{ private: class ThreadUtil *threadUtil; public: Mutex mutex; ~BaseClass(){

    1熱度

    3回答

    我創建了一個抽象類,它只有一組純虛擬方法。有3種不同的類別,這些方法具有具體實現。 現在,在編寫上述結構之後,我發現派生類中的一些方法具有相同的實現。所以,我將這些功能的邏輯移到了我的基類中,並使它們變爲虛擬而不是純虛擬。現在,實現不需要在派生類中重複。這編譯和執行良好。 我的基類是純虛擬方法和虛擬方法的混合體,是否遵循像這樣的結構是一種很好的設計方法?

    -1熱度

    1回答

    TreeInterface.h #ifndef TreeInterface_h #define TreeInterface_h #include"PreconditionException.h" #include"NotFoundException.h" //#include"Tree.hpp" template<class ItemType> class TreeInterface

    2熱度

    1回答

    考慮到從一個類T的構造函數T成員函數(直接或間接)的虛擬呼叫,最多可以再往T的執行,執行以下代碼,以不合格的通話,有不確定的操作或不?請注意,爲避免噪音:如果您認爲從構造函數調用成員函數時沒有虛擬調用,請不要在此處回答或發表評論,而是在單獨的SO問題中提出該問題。謝謝。 struct Baze { virtual void foo(); virtual void bar()

    41熱度

    4回答

    例如: class Base { virtual void my_function() = 0; }; class Derived : Base { void my_function() override; }; 從我讀的override關鍵字用來確保我們有在我們覆蓋的功能正確的簽名,這似乎是其唯一的用途。 然而,在一個純虛函數的情況下,編譯器會如果我們在派生類中使