virtual-functions

    2熱度

    1回答

    將override成員函數聲明爲final和final是否有用?爲什麼或者爲什麼不?

    4熱度

    5回答

    我正面臨以下問題。 我實現父類 - 車輛,它有一定的派生類,其中之一 - FastVehicle。 在程序中我需要存儲一個車輛向量*指針。指針也可能指向Vehicle對象或FastVehicle對象。 1)我想能夠調用向量中的每個對象的方法print()。 的問題是,在FastVehicle的情況下,我也想一個參數轉院的功能, 我需要調用與簽名功能: void print(int a) 我知道

    4熱度

    2回答

    我閱讀了關於C++中的繼承機制和關於虛函數的內容。根據我的知識(在我遇到的所有例子中),繼承的方法和父類有相同的簽名'。 我的問題是以下內容: 我知道函數默認參數值不是函數簽名的一部分。 我可以在父類虛函數中定義此值爲某個常量,並且在派生類中聲明並實現沒有此默認值的覆蓋方法。 在這種情況下,當我使用指向父類的指針調用派生對象的方法時,函數是否會在沒有此默認初始化的情況下調用? 謝謝

    -1熱度

    1回答

    我正在使用VS 2013並嘗試查看vptr和vftable如何在對象級別上工作。所以,我有以下類: #include<iostream> using namespace std; class baseClass { public: void nonVirtualFunc() {} virtual void virtualNonOverriddenFunc() {}

    2熱度

    2回答

    ,我有以下的東西作爲一個非常大的代碼庫的一部分: class FooObserver { public: virtual void FooObjectChanged() = 0; }; class MainStuff : public FooObserver ... /* a long list of other base classes */ { /* a prett

    2熱度

    1回答

    Swift中沒有抽象類。 人們有其他方法有類似的機制。但他們不回答我的問題。如何構建一個具有相同功能和不同功能的類的家族? Abstract classes in Swift Language表明我們使用協議而不是抽象基類。但協議並不是我們可以編寫函數體的地方,因此對於每個子類中的相同函數,我們必須編寫與子類編號相同的體。 我要的是這樣的: protocol Animal : class {

    1熱度

    1回答

    #include <iostream> using namespace std; class A{ public: int a; virtual void fun(); }; int main(){A obj;} 獲取錯誤未定義引用'vtable for A'。 我想知道爲什麼沒有實現虛函數給這種類型的錯誤。

    0熱度

    1回答

    我已經看到所有其他的答案這個錯誤,但我試過所有我能找到,仍然沒有工作。 這裏是我的代碼: class Train{ protected: string myID; int myCap; int myPass; char myType; public: Train(string str,int num): myID(st

    0熱度

    2回答

    最後類調用靜態方法如何能夠做到用C++ 11以下設計: class Consumer : Base<Consumer> { // different consumers will have different methods (of the same signature) void Foo(){...} void Bar(){...} : // etc.

    0熱度

    1回答

    我已經創建了一些對我來說很陌生的代碼,但似乎按照我的意願去做。但是,我不確定它的平臺獨立性或它的安全性,或者是否有更簡單的方法來實現我想要的功能。 我正在閱讀Curiously Recurring Template Program(on wikipedia),並且有一個類計數器的示例代碼,它允許每個派生類通過從具有該功能的基礎繼承來創建多少個實例。 我一直在尋找方法讓派生類引用一個通用對象(通過指