我希望为具有此函数的类C创建一个接口:
friend bool operator==(const C& a, const C& b);*为了测试驱动的目的,我希望为C语言创建一个模拟。
我试着这样做:
class IC
{
virtual friend bool operator==(const IC& a, const IC& b) = 0;
};我该怎么办?
发布于 2012-06-21 15:37:38
operator ==是一个二元运算符。要使其成为virtual,它必须是类成员。
class IC
{
virtual bool operator==(const IC& b) = 0;
};在本例中,==的第一个参数隐式为this。
你的声明是关于一个自由函数,而不是一个类成员。
编辑:正如评论中所建议的,您应该避免这种情况,而应该实现一个compare函数或类似的函数。
https://stackoverflow.com/questions/11133524
复制相似问题