假设我有两个.h文件:啊和Bh此外,啊包括Bh本身:
Bh - 定义了B类.
class B {
...
};
Run Code Online (Sandbox Code Playgroud)
啊 - 定义了A类,它使用了B类.
#include B.h
class A {
void SomeFunction(const B& b);
};
Run Code Online (Sandbox Code Playgroud)
现在,我有一些.cpp文件,它同时使用A和B类(B类不仅可以用在A :: SomeFunction(B)中)
从设计模式和编码风格的角度来看,包含Ah和Bh(而不仅仅是Ah)的优点是什么?
包括"Ah"和"Bh"都使得依赖关系完全清晰.没有理由为什么"啊"不能具有前向声明的B类,因此如果将传递包括更改为前向声明,则包括两个标题都会阻止您的".cpp"文件中断.一般来说,依赖传递包含并不是一个好主意,而是应该明确包含所有直接依赖关系.(请注意,这不适用于旨在提供传递包含的"主包含"标头).
归档时间: |
|
查看次数: |
226 次 |
最近记录: |