Advertisement

虚拟函数的动态方法调用流程

阅读量:

当使用指针调用虚函数时,其底层的执行流程可通过一段简化的测试代码进行观察,进而分析对应的汇编指令。

复制代码
    class A
    {
    public:
    	virtual void Show1()
    	{
    		cout << "A1" << endl;
    	}
    
    	virtual void Show2()
    	{
    		cout << "A2" << endl;
    	}
    };
    
    class B : public A
    {
    public:
    	void Show1()
    	{
    		cout << "B1" << endl;
    	}
    
    	void Show2()
    	{
    		cout << "B2" << endl;
    	}
    };
    
    
    int main()
    {
    	A *pb = new B;
    	pb->Show1();
    	pb->Show2();
    	return 0;
    }
    
    
      
      
      
      
      
      
      
      
      
      

全部评论 (0)

还没有任何评论哟~