我是新来的编程在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谈论接口...我会让这些方法是纯粹的(而不是空的实现)。 –