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




  

相关话题

  怎么看待 Linus 和 Richard Stallman 对 C++ 的态度? 
  用户帐号系统设计的原则有哪些? 
  面向对象(OOP)是编程语言发展中的弯路吗?为什么? 
  如何看待代码中的中文变量名? 
  对于编程思想和能力有重大提升的书有哪些? 
  如何学习数据结构? 
  C/C++ 如何自定义printf函数的格式化符? 
  把windows平台下mfc框架的代码移植到linux对编程小白来说难度很大吗?应该学习什么内容呢? 
  总是问「学XXX前景怎么样」、「学XXX能不能立刻找到工作」的人是不是真的打心里觉得未来很容易预测? 
  为什么C++在构造函数和析构函数中不能抛出异常? 

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





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