下面的代码片段会产生错误:
#include <iostream>
using namespace std;
class A
{
public:
virtual void print() = 0;
};
void test(A x) // ERROR: Abstract class cannot be a parameter type
{
cout << "Hello" << endl;
}
是否有解决此错误的解决方案/解决方法/比替换更好
virtual void print() = 0;
和
virtual void print() = { }
编辑:我希望能够通过使用多态性(即 A* x = new B() ; test(x);
)传递任何扩展/实现基类 A 作为参数的类
干杯