#include <iostream>
#include 
<stdexcept>

struct X
{
    
void Method(){std::cout<<"method\n";}
};
int main() 
{

    X 
*p=NULL;
    
try
    {
        p
->Method();
    }
    
catch(std::exception& e)
    {
        std::cout
<<"exception\n";
    }
    system(
"PAUSE");
    
return 0;
}

这段代码会输出method而不是exception。

 

因为类的成员方法只是隐藏了第一个参数为类的对象实例的指针——this的普通函数。

在method方法中并没有使用this指针,因此它可以被正确调用。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-15
  • 2021-12-11
  • 2021-12-06
  • 2022-12-23
  • 2021-12-08
  • 2022-01-04
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-24
  • 2022-12-23
  • 2021-09-16
相关资源
相似解决方案