两个抽象类怎么进行方法交叉调用?

请问有两个抽象类,想互相调用对方的方法,应该如何去做?没法实例化,怎么破?拜托各位了!

5个回答

1,写两个子类,各去继承抽象类,然后调用。
2,抽象类里面的方法写成静态的。

抽象类没法通过实例调用,只能用静态函数来调用

在A需要调用B的方法A.a()中传入抽象类对象B A.a(B b)

谢谢各位!在类里传对象的方法好像不行吧,抽象类没法实例对象

抽象类无法被实例化,因此想要调用必须用静态成员函数,使用如下:
其中抽象类B调用了抽象类A的X()方法。

 #include <iostream>
using namespace std;
class A
{
public:
    virtual void F()=0;
    static void X(){cout<<"A:X";}
};

class B
{
public:
    virtual void G()=0;
    void Y(){cout<<"B:";A::X();}
};

class C: public B
{
public:
    virtual void G(){return;}
};
int main()
{
    C c;
    c.Y();
    return 0;
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问