当我运行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