多重继承中的模糊成员

时间:2012-12-23 17:08:48

标签: c++

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

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

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

class CustomShape : public Node, public Rectangle{

};

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

的内容
a.setPosition();
a.draw();

我通过模糊调用得到编译时错误。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

添加明确的资格:

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

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

或者你可以插入演员:

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

但那不太吸引人。

相关问题