此代码不起作用。
class Collidable{
public:
virtual Vec2 Pos()=0;
};
class Square{
Vec2 pos;
public:
Vec2 Pos(){
return pos;
}
};
class Box:public Square,public virtual Collidable{
};
main(){
Box bla;
cout<<bla.Pos()<<endl;
}
但如果我这样做,它会起作用。
class Box:public Square,public virtual Collidable{
public:
Vec2 Pos(){
return Square::Pos();
}
}
我的问题是我有一个像 Square 这样的类,我有很多像 Pos() 这样的函数,我真的觉得我不应该说这样的话
Vec2 Pos(){
return Square::Pos();
}
一遍又一遍地为每一个函数,当这是我从另一个类继承时我认为的默认行为时。当只有一个定义时,如何避免在这里输入大量多余的输入,以及调用 Pos() 有什么含糊不清的地方?