返回類型是否影響函數覆蓋? (據我所知返回typde不是一個函數/方法簽名的一部分) 在一個基類我有一個功能,它並沒有得到論據,返回int
是純虛函數。在每個派生類中,我定義了返回類型的枚舉。該函數在派生類中被覆蓋,即它具有相同的簽名但行爲不同。 問題是:這是合法的重寫和返回類型不是功能覆蓋的一部分?函數覆蓋不同的返回類型
代碼示例:
class Base
{
public:
typedef int ret;
virtual ret method() = 0;
};
class Der1
{
public:
enum ret1{
ret1_0,
ret1_1
};
ret1 method() { return ret1_1;}
};
class Der1
{
public:
enum ret2{
ret2_0,
ret2_1
};
ret1 method() { return ret2_0;}
};
@LihO - 謝謝您的留言。這是一個錯字 – Yakov 2013-02-25 09:59:30