virtual-functions

    1熱度

    1回答

    考慮一個簡單的例子: struct FooParent { virtual void bar() { } }; struct Foo: FooParent { void bar() { } }; int main() { Foo foo; void (Foo::*foo_member)() = &FooParent::bar; //(f

    0熱度

    2回答

    我正在寫一個基於圖的反向傳播神經網絡,作爲一個個人項目。仍然在前進的道路上。它編譯。一半時間成功運行,在一半時間的最後一步崩潰。它似乎在一些垃圾收集步驟中死去。我是虛擬函數和static_cast的新手,所以我想知道這些部分是否應該受到指責。 GDB說:「編程接收到的信號SIGABRT,中止0x00000000100404740 in __gnu_cxx :: new_allocator :: d

    0熱度

    2回答

    我的程序正在爲每個客戶輸出一組奇怪的數字,並且沒有得到每個客戶的名字。我不確定我是否正確使用了虛擬功能,因爲這對我來說在概念上是比較新的。 Compute_Bill()函數在每個類中都使用,因爲Premium_Customer對他們的賬單使用與正常客戶不同的計算。我已經評估了每個賬單的計算成本。 main()函數僅用於爲每個人創建具有不同名稱和調用次數的列表,這樣程序應該顯示兩個不同定價計劃的示例

    0熱度

    2回答

    我想了解C++中的虛函數的概念,我在線閱讀它,但我無法理解爲什麼下面的程序輸出是2而不是1?誰能解釋一下? Class A { int a; public: A() { a = 1; } virtual void show() { cout <<a; } }; Class

    1熱度

    1回答

    靜態函數我有一個調用相應類的靜態方法,虛方法: class A{ public: static void bar() {std::cout<<"bar A\n";} virtual void foo(){ //Some A work... bar(); } }; class B : public A{ public: sta

    0熱度

    1回答

    考慮從基本結構Geometry繼承的兩個幾何圖形Triangle和Line。派生結構繼承虛函數get_area(),以便Triangle正常計算區域,但Line應給出錯誤,指示get_area()與Line不相關。當顯示錯誤時,我想知道哪個結構叫做get_area()和哪裏(行號)並最終終止程序。如果編譯或運行時顯示錯誤,則無關緊要。我怎樣才能做到這些? struct Geometry {

    -5熱度

    1回答

    在閱讀了關於名稱修改的更多信息後,我對vtable感到困惑。 爲前: class Base { public: virtual void print() { } }; class A : public Base { public: void hello() { .... } void print()

    -1熱度

    1回答

    我有兩個班。門戶和航空公司。兩者分別是虛擬的和抽象的。代碼實際上是粗略的。對不起。我已經分別創建了AIR和POR的派生類Airline和Portal。 基本上我的主要創建派生類POR的門戶指針,然後它在航空公司派生類AIR中傳遞。航空公司有一個構造函數,它將門戶指針作爲參數,但我很困惑如何爲AIR構造一個構造函數。 我收到一個我無法理解的錯誤。班級檔案給予我們,不能根據教授改變。如果課堂文件有任何

    0熱度

    1回答

    在編程語言中,如果您希望子對象應該作爲父類&的替代品,但它不應該放棄自己的身份(作爲子級),您必須獲得父級的許可。這就是爲什麼我們使用C#或C++虛擬化這些方法的原因。這成爲一個完整的隱藏。在Java中是否將整個隱藏視爲重寫? 99%的時間我在這裏有錯誤的概念,因爲我認爲我正在考慮它只隱藏。像JAVA一樣,重寫函數可以完全隱藏起來嗎?

    0熱度

    2回答

    請考慮以下代碼。 A是一個抽象的泛型類; B既實現並專門化它。這段代碼對我來說看起來微不足道,但由於某種原因,我最終遇到了奇怪的鏈接器錯誤。 template<typename T> class A { public: virtual void f(); }; class B : public A<int> { public: void f()