如果我有三个班级:
ClassA的 ClassB的 ClassC
它们都有导入语句来互相导入,即ClassC导入ClassB和ClassB只导入ClassA。
鉴于此设计,ClassC是否可以自动访问ClassA?
答案 0 :(得分:1)
首先:在任何情况下,import / include都不会使一个类有权访问另一个类,它只是让A类知道B类。
第二:可见性取决于您导入标题的位置。 如果您确实在ClassB标头中导入了ClassA标头,然后在ClassC标头中导入的ClassB标头比是,则ClassC知道ClassA。但是如果将它导入实现文件中,则答案是否定的。
编辑:应该注意最好在标题中进行类前向声明,然后在实现文件中包含适当的声明。