在这种情况下,是否有必要进行范围解析?
Is it necessary the scope resolution in this case?
我们是否需要包括
baseClass::statmember.methodmember();
在调用继承自基类的静态成员时,从派生类的方法内部调用它?我在别人编写的代码中看到它,我试着修改它,它也能编译,不包括
作用域derivedclass::methodDerived() {
statmember.methodmember();
};
为什么程序员在对成员scope::
的所有调用中都包含它,如果它是不必要的?它是否提醒了所有对象中静态成员的唯一性?
或者我错了,代码可能会给出不同的结果?
我猜这是因为以下是允许的:
class Base
{
public:
static void foo(){}
};
class Derived:public Base
{
public:
static void foo(){}
};
或者是为了可读性。有时候,仅仅因为没有必要并不意味着它没有用处(即使这种用处是为了可读性,这是一个大问题)。
只有当基类和派生类具有同名函数,并且希望区分它们时,才需要这样做。
相关文章:
- 我是c ++的新手,你能解释一下在这种情况下的指针吗
- 在这种情况下,java对象是否可以调用本机函数
- 在这种情况下显式调用时,std::cout 如何更改析构函数的行为?
- 在这种情况下,我真的复制了字节还是复制了字符?
- 为什么在这种情况下,bool 类型的输出等于 0?
- 在这种情况下,如何传递成员函数而不是函数?
- 为什么在这种情况下递增阵列名称有效?
- 在这种情况下我应该使用哪种设计模式
- 为什么在这种情况下我需要 .template
- 在这种情况下,使用 string_view 是否会导致不必要的字符串复制?
- 我是否访问了已释放的内存,或者在这种情况下DrMemory报告不正确?
- 在这种情况下,"typename..."意味着什么?
- 为什么在这种情况下 x = 44?
- 在这种情况下是私有的吗?试图使操作员<<过载
- 在这种情况下,如何防止C++输出/控制台窗体关闭
- 为什么 lambda nullptr 取消引用在这种情况下有效?
- 为什么在这种情况下,前向声明不起作用?
- 为什么在这种情况下不调用我的虚拟函数实现?
- 在这种情况下,为什么模板即时深度超过限制?
- 在这种情况下,是否有必要进行范围解析?