【发布时间】:2013-09-20 06:30:01
【问题描述】:
我遇到了 MISRA C++ 2008 指南,该指南中的规则 12-8-2 说:
复制赋值运算符应在抽象类中声明为受保护或私有。
然后我想,当我公开一个抽象类的赋值运算符时,
是否可以从其子类以外的其他类调用它?
我认为这是不可能的。
如果这是真的,他们为什么要定义这个规则?
基本上,从类设计的角度来看,我不使用具有私有成员的抽象类,也没有在基类中定义赋值运算符。因此,通常不需要应用此规则。但是,如果有一个抽象基类的公共赋值运算符,我会将其设为受保护的(或者如果可能的话是私有的),因为公开是没有意义的。您知道应用此规则的其他充分理由吗?
我是否忽略了什么?
【问题讨论】:
标签: c++