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




  

相关话题

  编程中,有哪些好的习惯从一开始就值得坚持? 
  国内Java面试总是问StringBuffer,StringBuilder区别是啥?档次为什么这么低? 
  编程语言是不是代码越多越逻辑越严谨? 
  所有人都劝退机械,然后又看到大部分人都回答计算机35岁危机严重,大家怎么看? 
  同事离职,我接盘了个垃圾项目,该如何是好? 
  如何由 C# 的「拖控件」阶段继续深入学习? 
  编程真的能改变人的思维方式吗? 
  C++ 的智能指针不就基本解决了野指针问题了吗?为什么还要吹捧rust的内存安全? 
  在技术上强到什么程度,才会成为年薪百万的技术型大牛? 
  工作经历里有C#是不是程序员一生的污点?加州各大公司除了“我软”招人是不是特别鄙视C#? 

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





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