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();
}

if is a pointer to someptr->somefunction()またはie a pointer to someptrCBA

ただし、C++ プログラミング言語に関する優れた本を何時間もかけて読んでください。ここで数分で説明することはできません。本の方が分かりやすい...

于 2012-10-27T13:46:15.003 に答える