#include <iostream>
using namespace std;

class PDFParser{
public:
    void parse(const char* pdffile){
        onRect();
        onCircle();//注意这里,可以这么写.
        onText();
        onImage();
    }
private:
    virtual void onRect(void) = 0;
    virtual void onCircle(void) = 0;
    virtual void onText(void) = 0;
    virtual void onImage(void) = 0;
};

class PDFRender:public PDFParser{
private:
    void onRect(void){
        cout << "hua yi ge rect" << endl;
    }
    void onCircle(void){
        cout << "hua yi ge Circle" << endl;
    }
    void onText(void){
        cout << "hua yi ge Text" << endl;
    }
    void onImage(void){
        cout << "hua yi ge p_w_picpath"<< endl;
    }
};

int main(void){
    PDFRender render;
    render.parse("some.pdf");
    return 0;
}

hua yi ge rect
hua yi ge Circle
hua yi ge Text
hua yi ge p_w_picpath