using System; public class BaseClass { int num; public BaseClass() { Console.WriteLine("in BaseClass()"); } public BaseClass(int i) { num = i; Console.WriteLine("in BaseClass(int i)"); } public int GetNum() { return num; } } public class DerivedClass : BaseClass { // This ...
如何检测派生类构造函数是否调用了基类构造函数? 例如,存在类的层次结构Base -> A -> B。 每当A::A()被调用时,实际要构造的对象可能是 classA,然后它是最后一个被调用的 ctor ;或 classB,然后B::B()稍后会调用。是否可以区分这些情况并检测当前正在调用的构造函数是否属于实际正在构造的类型?
// 定义基类构造函数 function BaseClass(name) { this.name = name; } // 定义基类方法 BaseClass.prototype.sayHello = function() { console.log("Hello, " + this.name); }; // 定义子类构造函数 function SubClass(name, age) { // 调用基类构造函数 BaseClass.call(this, name); this.age =...