【发布时间】:2015-07-09 16:33:07
【问题描述】:
假设有一个基类A 和一个派生自A 的类B。
然后,我们知道类A 的构造函数永远不会被类B 继承。但是,当创建B 的新对象时,在调用B 类的默认/自定义构造函数之前调用类A 的默认构造函数。可能这样做的目的是A类的字段需要初始化为默认值。
现在,假设 A 类定义了一个自定义构造函数。这意味着类A 的默认构造函数被编译器静默删除。现在,在创建类B 的新实例时,在调用类B 的构造函数之前会自动调用类A 的哪个构造函数? (在这种情况下,A 类字段如何初始化?)
【问题讨论】:
-
我没有意识到 OOPS 是面向对象编程 S*。不建议编辑,因为我喜欢将其视为"oops"。
-
@PeterMortensen 这应该是什么完全相同的副本?
-
已经回滚了删除 c# 标签的编辑,并且为了清楚起见还编辑了主题行。这绝对是一个特定于语言的问题。
标签: c# oop constructor