我是新來的編程在c + +和組織我的項目鬥爭。 我有一個名爲StateManager的類,它有一個頭文件和一個cpp文件。 cpp包含所有實現。在哪裏把接口類在c + +
如果我現在想打一個接口類:
class IStateManager
{
public:
virtual ~IStateManager() {}
virtual void SomeMethod {}
};
我知道接口並不真正存在,因爲他們在C#或Java做的,但我想多類從這個「接口」繼承。
這個類是否還需要一個頭文件和一個cpp文件?或者我可以把它放在一個頭文件中?
接口應該只需要標題,因爲它沒有實現。它可以自己進入頭部,也可以放在另一個更大的頭文件中。 (這裏沒有像Java這樣的限制) – 2014-01-14 16:41:01
@ebyrob:這些方法沒有被聲明爲純虛擬。 –
C++編譯器不編譯頭文件。編譯單元始終是CPP文件。如果您的頭文件(因爲它是_interface_)將被cpp包含在某處,那麼您不需要一個空的cpp文件。這就是說,如果yuo're談論接口...我會讓這些方法是純粹的(而不是空的實現)。 –