0
我的代码有问题。C++如何在抽象父类中调用子方法?
class A{
virtual foo()=0;
}
class B: public A {
foo();
foo2();
operator X(A * a) {a->foo2()} //doesn't work
}
class C: public A {
foo();
foo2();
operator X(A * a) {a->foo2()} //doesn't work.
}
所以我有一个虚拟类和2个继承自它的类。而且我必须定义一个作用于A对象的运算符X,不管它是B还是C(因为它不能是A,因为A是抽象的)。问题在于运算符调用了foo2(),我不能在类A中写入。我该怎么做?
非常感谢您的帮助。这是我的第一篇文章。
将操作员签名更改为'X(B * a)' –
这是因为'foo2()'不是A类的一部分。 –
我无法更改运营商签名。我应该让我的操作员X工作,不管它是B还是C。我只把它看作是A ... – Student000