1

我正在尝试在我的程序中创建一个新类,该类是从框架中的两个内置类扩展而来的。

class Node{
    setPosition();
    draw();
};

class Rectangle{
    setPosition();
    draw();
};

class CustomShape : public Node, public Rectangle{

};

在主程序中,如果我尝试编写类似CustomShape a

a.setPosition();
a.draw();

我通过不明确的调用得到编译时错误。我该如何解决这个问题?

4

1 回答 1

3

添加明确的限定条件:

a.Node::setPosition();
a.Rectangle::setPosition();

a.Node::draw();
a.Rectangle::draw();

或者,您可以插入演员表:

static_cast<Node&>(a).setPosition();

但这不那么有吸引力。

于 2012-12-23T17:13:45.120 回答