我正在上学的OOP项目,由于以下问题,我目前陷入困境:
假设A
是我的基类,B
继承自A
,C
继承自B
。
A
具有一种检查两个A型物体是否碰撞的方法。
C
中没有重新定义/过度驱动此方法,但是我必须在此子类中使用它。
class A
{
public:
bool isColliding(A);
};
class B : public A
{
};
class C : public B
{
public:
void Eat(B);
}
void C::Eat(B objectB)
{
if(isColliding(objectB))
{
}
}
这是代码的过度简化,我只是想传达这个想法。
它返回以下内容:
error : no matching function for call to 'C::isColliding(B)'
note: candidate: bool A::isColliding(A)
note: no known conversion for argument 1 from 'B' to 'A'.
如何获得将C和B解释为A的方法?
答案 0 :(得分:2)
为了访问基类成员,您必须这样明确地说:
Scenario Outline: Multiple browsers
Given I navigate to my setup application
And I published an article
When I open client website with "<browser>"
Then I can see the published article with "<browser>"
Examples:
| browser |
| IE |
| Chrome |
| Firefox |
| Safari |
| Mobile |