关于通过派生类在名称空间中继承的问题

时间:2019-01-04 22:15:27

标签: c++ inheritance namespaces

我有一个不驻留在任何命名空间中的基类。我想从命名空间中具有相同类名的该类派生。我使用范围解析运算符来做到这一点。但是,我在质疑我的代码的结构方式,并且需要一些有关访问的指导。

我已经完成以下

class_B.cpp

class class_A; //Forward declaration
class_B
{
public:
  class_A * var; 
};

class_A.h

class class_A {};

my_project.h

namespace my_namespace
{
    class class_A : public ::class_A {}; //Deriving from global class_A
    class class_D : public class_B {}; 
}

var可以得到class_D的什么派生?它是代表基本的class_A还是命名空间派生的class_A

1 个答案:

答案 0 :(得分:1)

class_D具有基类::class_B,该基类包含::class_A上的指针。

另一个my_namespace::class_A不会干扰::class_B