将头文件包含到多个继承的类中的最佳实践

时间:2018-10-01 16:25:24

标签: c++ oop include header-files

假设我们有一个带有标题parent.h的父类以及两个子类child1.hchild2.h,因为它们都从父类继承,所以两个头文件都应包含parent.h 。在另一个文件中包含child1.hchild2.h将导致父类定义重复。避免这种情况的最佳方法是什么?使用#pragma once是一种好的做法,还是还有其他方法可以解决此问题?

2 个答案:

答案 0 :(得分:-1)

这就是将#ifndef用作检入头文件的确切原因。

例如,您的“ parent.h”可能具有:

#ifndef PARENT_H
#define PARENT_H

.... //Your header definition

#endif

然后,在child1.hchild2.h

#ifndef PARENT_H
#include "parent.h"
#endif

....//Your source code

答案 1 :(得分:-1)

是的,您可以使用编译指示或#ifndef

#ifndef _AUTOMOBILE_H
#define _AUTOMOBILE_H
//...
#endif