c++ - 关于通过派生类在命名空间内继承的问题
问题描述
我有一个不驻留在任何命名空间中的基类。我想从命名空间内具有相同类名的类派生。我使用范围解析运算符来做到这一点。但是,我质疑我的代码的结构方式,需要一些有关访问的指导。
我做了以下
class_B.cpp
class class_A; //Forward declaration
class_B
{
public:
class_A * var;
};
class_A.h
class class_A {};
我的项目.h
namespace my_namespace
{
class class_A : public ::class_A {}; //Deriving from global class_A
class class_D : public class_B {};
}
var
预期的推导是什么class_D
?它将代表 baseclass_A
还是 namespace-derived class_A
?
解决方案
class_D
::class_B
具有包含指针的基类::class_A
。
另一个my_namespace::class_A
不干涉::class_B
。
推荐阅读
- javascript - 有没有办法从正则表达式中匹配和删除逻辑运算符
- amazon-web-services - 有没有办法从 Alexa localisation.js 文件中存储在 s3 中的文本文件中获取字符串(数据)?
- javascript - 手风琴无法正常打开
- angular - Chrome 87.0.4280(Windows 10.0.0):执行 0 of null(跳过 229)错误(34.875 秒/0 秒)
- python - 最大子阵列(不相邻)
- ssis - 如果不为空,则 SSIS 派生列转换
- ruby-on-rails - 在 Heroku 上带有 Postgresql 适配器的 Rails 动作电缆?
- vue.js - 415 发布请求中不支持的媒体类型
- android - setContentView 抛出 RuntimeException
- python - 滚动并读取每个数据 - python selenium