万恶的void指针

class A
{
    public: 
        A(int y): x(y)
        {}      
        void print() 
        {       
            cout<<"this is a:"<<get()<<endl;
        }       
        int get()
        {       
            return x;
        }       
    private:
        int32_t x;
};
class B: public A
{
    public: 
        B(int y):A(y){}
        virtual void print() 
        {       
            cout<<"this is b:"<<get()<<endl;
        }       
};

 

 int main()

{
    B b(2);
    b.print();
    A *pa = &b;
    pa->print();
    cout<<"add b "<<&b<<endl;
    cout<<"add pa"<<pa<<endl;
    void *vpb = (void*)&b;
    pa = (A*)vpb;
    cout<<"add vpa"<<pa<<endl;
    pa->print();
    return 0;
}

 

 void指针真万恶啊

posted @ 2011-06-10 11:38  nosaferyao  阅读(210)  评论(0编辑  收藏  举报