2010-10-22 42 views
0

我有Foo.hpp和Foo.cpp中,我想定義一個虛函數「虛擬」和頭文件

virtual void setValue(int val){ 
} 

請問下面的實現是正確的:

Foo.hpp

#ifndef _FOO 
#define _FOO 
class Foo{ 
    public: 
    Foo(); 
    virtual void setValue(int val); 
}; 
#endif 

Foo.cpp中

Foo::setValue(){ 

} 

我意識到如果將它保存到一個文件中會更容易,但這只是對更復雜結構的簡化。

+0

這是打算成爲另一種類型的基類嗎?也就是說,有一個從foo繼承的酒吧? – 2010-10-22 17:27:13

+0

是的,這是最終嘗試去做的。 – Kay 2010-10-22 17:33:14

+1

如果您對讓語法正確感到困惑,我建議您閱讀Kline提及的法律語法之一:http://www.parashift.com/c++-faq-lite/how-to-learn-cpp.html #faq-28.6我試圖在沒有這些書的情況下工作,在SO上提出關於語法和內容的問題,並發現這本書比任何人都能在這裏更好地回答問題,併爲我節省了很多時間。只是一點建議。 – 2010-10-22 17:43:30

回答

2

您的示例不會編譯,因爲您的cpp和hpp之間的函數簽名不同,但您有正確的想法。如果你的函數是無效的,那麼也不需要返回。

+0

糟糕的回報是一個錯字,編輯它。 – Kay 2010-10-22 17:30:44