我不知道如何把一個正確的標題。對不起,我的問題對我來說很難。派生的方法在基類不叫
我有一個類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)時,ret urn值仍然是2,我希望它返回101.
請幫我做到這一點,但不要改變mockCal :: expresstion中的任何內容。 非常感謝。
如果你寫的:INT expresstion(INT一個, int b,int c) { return myCal :: expresstion(a,b,c); }你將永遠有2 – 2014-09-30 08:28:47
所以我現在需要做的,在myCal :: expresstion中調用myCal :: add和myCal :: sub,我希望myCal :: sub總是返回100,請幫助 – 2014-09-30 08:33:17
寫在表達式中mockCal類如果關於你的實例對象,那麼如果實例是myCal(高級),你將調用myCal :: expresstion,否則你會調用mockCal override – 2014-09-30 08:46:38