C语言的函数调用是如何工作的? |
您所在的位置:网站首页 › 函数的调用是怎么实现的 › C语言的函数调用是如何工作的? |
当用C#编写的对象被构造时,会发生什么是初始化器从大多数派生类到基类的顺序运行,然后构造函数按从基类到最派生类的顺序运行 另外在.NET中,对象不会像构造类型那样改变类型,而是从派生类型最多的方面开始,而方法表则是派生类型最多的类型。这意味着虚拟方法调用总是运行在最派生的类型上。 当你把这两个事实结合在一起的时候,你会知道:如果你在一个构造函数中调用一个虚拟方法,而且它不是继承层次结构中最派生的类型,那么它将被调用一个构造函数没有被运行,因此可能不会处于适当的状态来调用该方法。 如果将类标记为密封,以确保它是继承层次结构中派生最多的类型,则此问题当然会得到缓解 - 在这种情况下,调用虚拟方法是非常安全的。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |