我不知道如何设置正确的标题。对不起我的问题对我来说很难。
我有一个类myCal.h:
class myCal
{
public:
myCal();
int add(int a, int b);
int sub(int a, int b);
int expresstion(int a, int b, int c);
};
和myCal.cpp:
myCal::myCal()
{
}
int myCal::add(int a, int b)
{
return a+b;
}
int myCal::sub(int a, int b)
{
return a-b;
}
int myCal::expresstion(int a, int b, int c)
{
return add(sub(a, b), c);
}
在main.cpp中,我有这样的类mockcal:
class mockcal : public myCal
{
public:
int sub(int a, int b)
{
return 100;
}
int expresstion(int a, int b, int c)
{
return myCal::expresstion(a,b,c);
}
};
如果我运行myCal.expresstion(3,2,1),返回值为2,那没关系, 但是当我运行mockCal.expresstion(3,2,1)时,返回值仍为2,我希望它返回101.
请帮我这样做,但不要在mockCal :: expresstion中更改任何内容。 非常感谢。
答案 0 :(得分:1)
如果要在int sub(int a, int b)
类
myCal
类)中创建方法mockcal
虚拟
class myCal
{
public:
//...
virtual int sub(int a, int b);
//..
};