多态类的对象作为参数时不应采用值传递的方式
8.4 ID_paramMayBeSlicing
将派生类对象通过传值的方式转换为基类对象后,不再遵循多态机制,易产生意料之外的错误,应采用指针或引用的方式传递多态类对象。
示例:
class A {
public:
virtual int fun();
};
void foo(A); // Non-compliant
void bar(A&); // Compliant
void baz(A*); // Compliant