googlemock:无法创建模拟类的对象
googlemock: object of mocked class cannot be created
我得到了一个使用speedInterface的类Car(它有一个参考(。
现在我想用Mock_SpeedInterface模拟速度接口。
class speedInterface
{
public:
virtual ~speedInterface() {}
virtual int GetSpeed(void) = 0;
};
class Mock_SpeedInterface : public speedInterface
{
public:
MOCK_CONST_METHOD0(GetSpeed, int());
};
class Car
{
public:
Car(speedInterface& s) : Speedo(s) {}
virtual ~Car() {}
speedInterface& Speedo;
...
};
TEST(TestCar, Test1) {
Mock_SpeedInterface mockSpeed;
...
}
尝试创建 mockSpeed 会导致以下编译器错误:
错误 C2259 'Mock_SpeedInterface':无法实例化抽象类
恕我直言,类Mock_SpeedInterface不是一个抽象类,因为它"实现"了GetSpeed。为什么会出现此错误,如何防止此错误?
似乎MOCK_CONST_METHOD0(GetSpeed, int());
是错误的。为了得到一个普通的答案,我将引用OP的评论:
更改它以MOCK_METHOD0修复它。
相关文章:
- 如何从具有移动语义的类对象中生成共享指针
- 在c++中访问int到类对象的映射时出错
- 我不小心调用了一个没有自己类对象的成员函数.但这是怎么回事呢
- 从父类方法返回子类对象
- 试图理解类对象的行为
- 如何使用对C函数和类对象的外部调用来处理C++头文件
- 将父类对象强制转换为子类的问题
- 类对象数组的问题会导致崩溃
- 对具有动态分配的内存和析构函数的类对象的引用
- 我使用向量来创建类对象列表.初始化向量时如何使用参数调用构造函数?
- 使用循环创建类对象
- 如何查找哪个类对象位于数组的特定索引上(多态性)
- C++ 在堆栈中包含多态属性的类对象存储
- C++:跟踪类对象
- 链表包含 c++ 中不同的派生类对象
- 我们可以通过 IPC 传递具有动态管理成员的类对象吗?
- C++ 类对象作为函数参数
- 获取我的基类以递增派生类对象整数
- C++ 使用枚举类对象分配 std::map 值
- googlemock:无法创建模拟类的对象