.h或.cpp文件或两者中的抽象类?

时间:2018-09-30 13:40:20

标签: c++

我的抽象类应放在.h或.cpp文件中还是放在这两者中?因为没有实现细节可放入.cpp文件中?

根据我的理解,由于所有功能都是虚拟的,因此我只需要一个.h文件,如果我添加了一个非虚拟功能,那么我将需要一个.cpp文件来实现该非虚拟功能。

1 个答案:

答案 0 :(得分:1)

您在第二段中的描述基本上是正确的;类是抽象的事实不会影响您的处理方式。通常的方法是将类定义放在头文件中,并将实现放在源文件中。头文件用于将要使用该类的任何位置;它提供了对该类的描述。源文件被编译并链接;它提供了实现细节。如果没有实现细节,则不需要源文件。

请注意,“抽象类” 不是是指“没有实现的类”。抽象类具有至少个纯虚函数。这并不意味着所有虚函数都是纯虚函数,也不意味着该类没有非虚函数。相反,不是抽象的类可能没有成员函数,因此也没有实现文件。