0

我想知道如何使用 C++ 调用抽象类的递归函数。

    //A.h
        class A {
    public: 
    virtual void some() = 0 ; 

    };

    //B.h
       #include "A.h"
    class B : public A {
    public:
     void some() ; 

    };

    // B.cpp


    void B::some(){
  system("pause"); 
 } ; 


    //C.h
  #include "B.h" 
class C : public B  {
public:
static void callF() ; 

};

    // C.cpp

    void C::callF(){ 
    some(); 

} ;

我已经编辑了代码。还是行不通。

4

2 回答 2

1

在 A 和 B 中,函数应该是公共的或受保护的。

于 2012-10-27T13:48:04.640 回答
0

只需somefunction()在体内使用,C::callingF()例如

void C::callingF() 
{
   if (somecondition) 
     somefunction();
}

你可以使用ptr->somefunction()ifptr是指向 some 的指针,C或者B是指向 someA

但是,请花几个小时阅读一本关于 C++ 编程语言的好书。我们无法在几分钟内解释它。一本书解释得更好...

于 2012-10-27T13:46:15.003 回答