当前位置:  开发笔记 > 编程语言 > 正文

具体类的单独头文件 - C++

如何解决《具体类的单独头文件-C++》经验,为你挑选了1个好方法。

背景

我有一个抽象类,类似于

class IConverter{
    public:
    virtual void DoConvertion() = 0;
};

将有许多具体的类只是实现DoConvertion方法.

class TextConverter : public IConverter{
    public:
    virtual void DoConvertion(){
         // my code goes here
     }
};

class ImageConverter : public IConverter{
    public:
    virtual void DoConvertion(){
         // my code goes here
     }
};

这样会有很多具体的实现.我创建了一个头文件,比如说CharacterConverter.h,它有一个抽象类IConverter.

由于我的具体类只实现了DoConvertion方法,是否需要为每个具体类创建单独的头文件?我的意思是它需要为所有具体类创建ImageConverter.h,TextConverter.h等等吗?所有这些头文件都将包含与IConverter抽象类相同的代码.

有什么想法吗?



1> Brian R. Bon..:

这不是必需的.这基本上是一个判断电话.

如果每个类的实现都很简单,你可以将它们全部放在一个.h和一个.cpp中

如果实现有点长,那么为每个实现使用单独的.h和.cpp文件可能更简洁.

为每个类使用不同的.h/.cpp的一些优点:

它将保持代码整洁有序

减少编译工作:其中一个实现的更改不需要重新编译所有其他实现

更快的编译时间:一些编译器可以一次编译多个文件,例如Visual Studio的/ MP开关.使用多个文件,您将获得更快的编译时间.

其他文件只能包含他们需要的内容而不是所有内容

更快的链接时间:由于增量链接,链接时间将减少

使用版本控制,您可以仅回顾对特定派生类的更改,而不必对大量1 .h/.cpp文件进行所有更改,以查找特定派生类中的一个更改.

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有