class Base
{
public:
type1 m_Pants;
};
class Derived : Base
{
public:
type2 m_Pants
};
这本质上并没有被标记为错误,而是在整个项目中造成了各种破坏和问题。
有谁知道不会标记这一点的技术细节?
它不会被标记为错误,因为它不是错误。没有任何规定说派生类中的成员不能与基类中的成员命名相同。
如果你有一个对象obj
类型的Derived
, then obj.m_Pants
指的是m_Pants
in Derived
。如果您想引用基本成员,可以使用obj.Base::m_Pants
.
如果您是以下组织的成员函数Base
或有一个Base*
指向一个类型的对象Derived
, then m_Pants
总是指以下成员Base
,因为在这些情况下没有该类的知识Derived
及其成员。
嗯,这不是代码错误;而是代码错误。这几乎可以肯定是一个设计错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)