百科问答小站 logo
百科问答小站 font logo



为什么使用virtual关键字在C++与C#会出现不同的效果?求解答。 第1页

  

user avatar   Ivony 网友的相关建议: 
      

简单来说的话就是C#的构造函数不负责构造。是对象构造完了之后再调用的。

要在C++里面模拟的话,你就把要写在构造函数里面的代码写成一个virtual void Initialize()方法,然后构造完了后再去调用这个方法就好了。


user avatar   minmin.gong 网友的相关建议: 
      

这件事情和virtual无关,和this的意思有关。C++的版本里,A::A()的时候this指向的是A的类型,只有完成构造了,才有一个完整的动态类型可用。




  

相关话题

  大学想报计算机专业,暑假想要自学,有哪些建议? 
  C语言和C++中,为什么malloc函数需要传入申请的内存大小,而free时候却不需要传大小呢? 
  从现在回首来看,「软件使用本机二进制代码分发」是不是一个错误? 
  为什么微软.NET,C#在美国,英国等国外都非常流行,而在国内却逐渐没落? 
  26 岁开始学编程晚了吗? 
  程序员应该如何优雅地关闭电脑? 
  能否通过逻辑编程消灭程序BUG? 
  到什么程度才叫精通 Linux? 
  盲人编程真的可行吗? 
  在这种不同操作下,对于计算机体系的不同是否会造成时间差异? 

前一个讨论
有什么在国外是common sense或者说是通识,常识的,是在中国不为人知的?
下一个讨论
为什么知乎上关于医患关系的主流舆论站在医生一边?





© 2025-05-06 - tinynew.org. All Rights Reserved.
© 2025-05-06 - tinynew.org. 保留所有权利