當我運行Setup()
時,我希望在控制檯中看到't',後面跟着多個'x'字符。然而它只返回多個't'字符。這就像我的逆流永遠不會被過度糾纏。請參閱下面的代碼示例:重新聲明變量
class Returner
{
public:
Returner(){}
char test()
{
}
};
class TReturner: public Returner
{
public:
TReturner(){}
char test()
{
return 't';
}
};
class XReturner: public Returner
{
public:
XReturner(){}
char test()
{
return 'x';
}
};
void setup()
{
Serial.begin(9600);
TReturner t = TReturner();
Returner * retrn = &t;
while(1)
{
Serial.print(retrn.test());
XReturner x = XReturner();
retrn = &x;
_delay_ms(500);
}
}
此代碼有多個問題。首先,基類'char test()'應該是虛擬的。你也沒有從這個函數返回任何值,你在哪裏指定返回類型爲'char'。接下來,像XReturner x = XReturner();這樣的語句是不必要的。你可以簡單地使用'XReturner x;'。我建議你在繼續閱讀之前閱讀一本好的C++書。 – Asha 2011-04-12 12:45:34