百科问答小站 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的类型,只有完成构造了,才有一个完整的动态类型可用。




  

相关话题

  突然意识自己曾经引以为豪的编程其实是一种工具,这是一种悲哀吗? 
  Objective-C 的一些函数名为什么都这么长? 
  为什么现在招聘程序员大多要求 Java / C / C++ 技能,而 C# / .NET 不受青睐? 
  哪些 Python 库让你相见恨晚? 
  如何正确理解java中的泛型类型推导? 
  C++中this指针什么情况下是必须要用的? 
  精通 Java 是一种怎样的体验? 
  你在公司项目里面看到过哪些操蛋的代码? 
  怎样写出一个更快的 memset/memcpy ? 
  if(x>y)和if(x-y>0)有没有区别(x,y都是int)? 

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





© 2024-09-19 - tinynew.org. All Rights Reserved.
© 2024-09-19 - tinynew.org. 保留所有权利