Вопрос о наследовании в пространстве имен через производный класс - PullRequest
0 голосов
/ 05 января 2019

У меня есть базовый класс, который не находится ни в одном пространстве имен. Я хотел бы получить из этого класса с тем же именем класса в пространстве имен. Для этого я использовал оператор разрешения области видимости. Тем не менее, я подвергаю сомнению то, как мой код структурирован, и мне нужны некоторые рекомендации относительно доступа

Я сделал следующее

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 голосов
/ 05 января 2019

class_D имеет базовый класс ::class_B, который содержит указатель на ::class_A.

Другой my_namespace::class_A не мешает ::class_B.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...