C ++:调用Abstract函数的递归函数

时间:2012-10-27 13:42:48

标签: c++ abstract

我想知道如何使用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(); 

};

我编辑了代码。仍然没有工作。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

只需在somefunction()的正文中使用C::callingF(),例如

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

如果ptr->somefunction()是指向某些ptrC的指针,即指向某些B

的指针,则可以使用A

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